Some TOC file name patterns not recognized #733
Description
Describe the bug
Ajour, from my reading of the code, has support for "-BCC"/"-Classic"/"-Mainline" suffixes for the toc files of addons. According to https://wowpedia.fandom.com/wiki/TOC_format there also "-TBC" and "-Vanilla", and additionally it can be an underscore rather than "-". One addon that for the TBC version only provides "-TBC.toc" is ElvUI. As a result, ajour doesn't recognize it.
To Reproduce
Steps to reproduce the behavior:
- Install ElvUI from Catalog (Tukui source) for Classic TBC.
- Switch to 'My Addons' and observe ElvUI successfully installed.
- Refresh list.
- ElvUI is no longer on the list.
Expected behavior
ElvUI and other similar addons with *-TBC.toc should be recognized.
Screenshots
If applicable, add screenshots to help explain your problem.
Software involved
Please complete the following information:
- OS: Windows 10
- Ajour version: 1.3.0
- (if applicable) Addon name, flavor (classic or retail) and version: ElvUI TBCC 2.17
Additional context
Log Output
Paste the content of ajour.log
from %APPDATA%\ajour\ajour.log
on Windows or $HOME/.config/ajour/ajour.log
on Mac/Linux.
10:52:22.139 [ajour][INFO] Ajour 1.3.0 has started.
10:52:22.141 [ajour::gui][DEBUG] config loaded:
Config {
wow: Wow {
directory: None,
directories: {
ClassicPtr: "C:\\Program Files (x86)\\World of Warcraft\\_classic_ptr_",
ClassicTbc: "C:\\Program Files (x86)\\World of Warcraft\\_classic_",
Retail: "C:\\Program Files (x86)\\World of Warcraft\\_retail_",
},
flavor: ClassicTbc,
},
addons: Addons {
global_release_channel: Stable,
ignored: {
Retail: [],
ClassicPtr: [],
ClassicEra: [],
ClassicTbc: [],
},
release_channels: {
ClassicTbc: {},
ClassicPtr: {},
Retail: {},
ClassicEra: {},
},
delete_saved_variables: false,
},
theme: Some(
"Nord",
),
column_config: V3 {
my_addons_columns: [
ColumnConfigV2 {
key: "title",
width: None,
hidden: false,
},
ColumnConfigV2 {
key: "local",
width: Some(
176,
),
hidden: false,
},
ColumnConfigV2 {
key: "remote",
width: Some(
162,
),
hidden: false,
},
ColumnConfigV2 {
key: "status",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "channel",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "author",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "game_version",
width: Some(
110,
),
hidden: false,
},
ColumnConfigV2 {
key: "date_released",
width: Some(
110,
),
hidden: false,
},
ColumnConfigV2 {
key: "source",
width: Some(
110,
),
hidden: true,
},
ColumnConfigV2 {
key: "summary",
width: Some(
110,
),
hidden: true,
},
],
catalog_columns: [
ColumnConfigV2 {
key: "addon",
width: None,
hidden: false,
},
ColumnConfigV2 {
key: "description",
width: None,
hidden: false,
},
ColumnConfigV2 {
key: "source",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "num_downloads",
width: Some(
105,
),
hidden: false,
},
ColumnConfigV2 {
key: "game_version",
width: Some(
105,
),
hidden: false,
},
ColumnConfigV2 {
key: "date_released",
width: Some(
105,
),
hidden: false,
},
ColumnConfigV2 {
key: "install",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "categories",
width: Some(
85,
),
hidden: true,
},
],
aura_columns: [
ColumnConfigV2 {
key: "title",
width: None,
hidden: false,
},
ColumnConfigV2 {
key: "local",
width: Some(
120,
),
hidden: false,
},
ColumnConfigV2 {
key: "remote",
width: Some(
120,
),
hidden: false,
},
ColumnConfigV2 {
key: "author",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "type",
width: Some(
85,
),
hidden: false,
},
ColumnConfigV2 {
key: "status",
width: Some(
110,
),
hidden: false,
},
],
},
window_size: Some(
(
1332,
972,
),
),
scale: Some(
1.2000000000000002,
),
backup_directory: None,
backup_addons: false,
backup_wtf: false,
backup_config: false,
backup_screenshots: false,
backup_fonts: false,
hide_ignored_addons: false,
self_update_channel: Stable,
weak_auras_account: {
ClassicEra: "JRYDH",
ClassicTbc: "JRYDH",
},
alternating_row_colors: true,
language: English,
catalog_source: Some(
Tukui,
),
auto_update: false,
compression_format: Zip,
zstd_compression_level: 0,
close_to_tray: false,
autostart: false,
start_closed_to_tray: false,
}
10:52:22.141 [ajour::gui][DEBUG] antialiasing: true
10:52:22.413 [ajour_core::utility][DEBUG] checking for application update
10:52:22.413 [ajour_core::theme][DEBUG] loading user themes
10:52:22.414 [ajour_core::fs::theme][DEBUG] loaded 0 user themes
10:52:22.478 [ajour::gui::update][DEBUG] Message::ThemesLoaded(0 themes)
10:52:22.478 [ajour::gui::update][DEBUG] Message::CachesLoaded(error: false)
10:52:22.485 [ajour::gui::update][DEBUG] Message::Parse
10:52:22.486 [ajour::gui::update][DEBUG] preparing to parse addons in "C:\\Program Files (x86)\\World of Warcraft\\_classic_ptr_\\Interface/AddOns"
10:52:22.486 [ajour::gui::update][DEBUG] preparing to parse addons in "C:\\Program Files (x86)\\World of Warcraft\\_classic_\\Interface/AddOns"
10:52:22.486 [ajour::gui::update][DEBUG] preparing to parse addons in "C:\\Program Files (x86)\\World of Warcraft\\_retail_\\Interface/AddOns"
10:52:22.486 [ajour_core::parse][DEBUG] Classic PTR - parsing addons folder
10:52:22.486 [ajour_core::parse][DEBUG] Classic TBC - parsing addons folder
10:52:22.486 [ajour_core::parse][DEBUG] Retail - parsing addons folder
10:52:22.486 [ajour_core::parse][DEBUG] Classic PTR - 0 folders in AddOns directory to parse
10:52:22.486 [ajour_core::parse][DEBUG] Retail - 3 folders in AddOns directory to parse
10:52:22.486 [ajour_core::parse][DEBUG] Classic TBC - 64 folders in AddOns directory to parse
10:52:22.488 [ajour_core::parse][DEBUG] Retail - 3 fingerprints: 3 cached, 0 calculated, 0 added, 0 removed
10:52:22.488 [ajour::gui::update][DEBUG] Message::CheckWeakAurasInstalled(Classic PTR, is_installed: false)
10:52:22.488 [ajour::gui::update][DEBUG] Message::CheckWeakAurasInstalled(Classic TBC, is_installed: true)
10:52:22.488 [ajour::gui::update][DEBUG] Message::CheckWeakAurasInstalled(Retail, is_installed: false)
10:52:22.489 [ajour::gui::update][DEBUG] Message::ParsedAddons(Classic PTR, 0 addons)
10:52:22.489 [ajour::gui::update][DEBUG] Message::ListWtfAccounts(Classic TBC, num_accounts: 3)
10:52:22.494 [ajour_core::parse][DEBUG] Classic TBC - 64 fingerprints: 64 cached, 0 calculated, 0 added, 2 removed
10:52:22.494 [ajour_core::parse][DEBUG] Retail - 3 addon folders successfully parsed from '.toc'
10:52:22.494 [ajour_core::parse][DEBUG] Retail - 2 valid cache entries retrieved
10:52:22.494 [ajour_core::parse][DEBUG] Retail - 0 unique fingerprints to check against curse api
10:52:22.502 [ajour_core::parse][DEBUG] Classic TBC - 64 addon folders successfully parsed from '.toc'
10:52:22.502 [ajour_core::parse][DEBUG] Classic TBC - 1 valid cache entries retrieved
10:52:22.502 [ajour_core::parse][DEBUG] Classic TBC - 63 unique fingerprints to check against curse api
10:52:22.558 [ajour::gui::update][DEBUG] Message::LatestRelease(Some("1.3.0"))
10:52:22.690 [ajour_core::catalog][DEBUG] Etag match, cached catalog is latest version
10:52:22.738 [ajour::gui::update][DEBUG] Message::CatalogDownloaded(16159 addons in catalog)
10:52:22.777 [ajour::gui::update][DEBUG] Message::ParsedAuras(Classic TBC, num_auras: 6)
10:52:22.872 [ajour_core::parse][DEBUG] Retail - 0 curse packages fetched
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 1 tukui packages fetched
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 wowi packages fetched
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 hub packages fetched
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 git packages fetched
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 addons built from curse packages
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 1 addons built from tukui packages
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 addons built from wowi packages
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 addons built from hub packages
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 0 addons built from git packages
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 1 unknown addon folders
10:52:23.230 [ajour_core::parse][DEBUG] Retail - 2 addons successfully parsed
10:52:23.231 [ajour::gui::update][DEBUG] Message::ParsedAddons(Retail, 2 addons)
10:52:23.323 [ajour_core::parse][DEBUG] Classic TBC - 29 curse packages fetched
10:52:23.324 [ajour_core::parse][DEBUG] Classic TBC - 0 tukui packages fetched
10:52:23.560 [ajour_core::parse][DEBUG] Classic TBC - 7 wowi packages fetched
10:52:23.560 [ajour_core::parse][DEBUG] Classic TBC - 0 hub packages fetched
10:52:23.560 [ajour_core::parse][DEBUG] Classic TBC - 0 git packages fetched
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 25 addons built from curse packages
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 0 addons built from tukui packages
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 1 addons built from wowi packages
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 0 addons built from hub packages
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 0 addons built from git packages
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 1 unknown addon folders
10:52:23.561 [ajour_core::parse][DEBUG] Classic TBC - 27 addons successfully parsed
10:52:23.561 [ajour::gui::update][DEBUG] Message::ParsedAddons(Classic TBC, 27 addons)
10:52:25.208 [ajour::gui::update][DEBUG] Interaction::ModeSelected(Catalog)
10:52:27.508 [ajour::gui::update][DEBUG] Interaction::InstallAddon(Classic TBC, Catalog { source: Tukui })
10:52:27.851 [ajour::gui::update][DEBUG] Message::CatalogInstallAddonFetched(ClassicTbc, "2")
10:52:27.851 [ajour_core::network][DEBUG] downloading remote version 2.17 for 5251166554282412174
10:52:29.433 [ajour::gui::update][DEBUG] Message::DownloadedAddon((Classic TBC, 5251166554282412174, error: false))
10:52:29.741 [ajour::gui::update][DEBUG] Message::UnpackedAddon((5251166554282412174, error: false))
10:52:29.742 [ajour_core::parse][DEBUG] Classic TBC - updating fingerprint for ElvUI
10:52:29.742 [ajour_core::parse][DEBUG] Classic TBC - updating fingerprint for ElvUI_OptionsUI
10:52:29.744 [ajour::gui::update][DEBUG] Message::AddonCacheUpdated(ElvUI)
10:52:29.752 [ajour::gui::update][DEBUG] Message::UpdateFingerprint((ClassicTbc, ElvUI_OptionsUI, error: false))
10:52:29.786 [ajour::gui::update][DEBUG] Message::UpdateFingerprint((ClassicTbc, ElvUI, error: false))
10:52:36.501 [ajour::gui::update][DEBUG] Interaction::ModeSelected(MyAddons(ClassicTbc))
10:52:38.283 [ajour::gui::update][DEBUG] Interaction::SortColumn(Title, Asc)
10:52:40.714 [ajour::gui::update][DEBUG] Interaction::Refresh(My Addons)
10:52:40.716 [ajour::gui::update][DEBUG] Message::Parse
10:52:40.716 [ajour::gui::update][DEBUG] preparing to parse addons in "C:\\Program Files (x86)\\World of Warcraft\\_classic_ptr_\\Interface/AddOns"
10:52:40.716 [ajour::gui::update][DEBUG] preparing to parse addons in "C:\\Program Files (x86)\\World of Warcraft\\_classic_\\Interface/AddOns"
10:52:40.716 [ajour::gui::update][DEBUG] preparing to parse addons in "C:\\Program Files (x86)\\World of Warcraft\\_retail_\\Interface/AddOns"
10:52:40.716 [ajour_core::parse][DEBUG] Classic PTR - parsing addons folder
10:52:40.716 [ajour_core::parse][DEBUG] Classic TBC - parsing addons folder
10:52:40.716 [ajour_core::parse][DEBUG] Retail - parsing addons folder
10:52:40.716 [ajour_core::parse][DEBUG] Classic PTR - 0 folders in AddOns directory to parse
10:52:40.716 [ajour_core::parse][DEBUG] Retail - 3 folders in AddOns directory to parse
10:52:40.716 [ajour_core::parse][DEBUG] Classic TBC - 66 folders in AddOns directory to parse
10:52:40.717 [ajour::gui::update][DEBUG] Message::CheckWeakAurasInstalled(Classic TBC, is_installed: true)
10:52:40.717 [ajour::gui::update][DEBUG] Message::CheckWeakAurasInstalled(Classic PTR, is_installed: false)
10:52:40.717 [ajour::gui::update][DEBUG] Message::CheckWeakAurasInstalled(Retail, is_installed: false)
10:52:40.717 [ajour_core::parse][DEBUG] Retail - 3 fingerprints: 3 cached, 0 calculated, 0 added, 0 removed
10:52:40.718 [ajour::gui::update][DEBUG] Message::ParsedAddons(Classic PTR, 0 addons)
10:52:40.718 [ajour::gui::update][DEBUG] Message::ListWtfAccounts(Classic TBC, num_accounts: 3)
10:52:40.723 [ajour_core::parse][DEBUG] Retail - 3 addon folders successfully parsed from '.toc'
10:52:40.723 [ajour_core::parse][DEBUG] Retail - 2 valid cache entries retrieved
10:52:40.723 [ajour_core::parse][DEBUG] Retail - 0 unique fingerprints to check against curse api
10:52:40.723 [ajour_core::parse][DEBUG] Classic TBC - 66 fingerprints: 66 cached, 0 calculated, 0 added, 0 removed
10:52:40.729 [ajour_core::parse][DEBUG] Classic TBC - 64 addon folders successfully parsed from '.toc'
10:52:40.729 [ajour_core::parse][DEBUG] Classic TBC - 1 cached entries removed due to missing addon folders
10:52:40.729 [ajour_core::parse][DEBUG] Classic TBC - 1 valid cache entries retrieved
10:52:40.729 [ajour_core::parse][DEBUG] Classic TBC - 63 unique fingerprints to check against curse api
10:52:40.868 [ajour_core::parse][DEBUG] Retail - 0 curse packages fetched
10:52:41.000 [ajour::gui::update][DEBUG] Message::ParsedAuras(Classic TBC, num_auras: 6)
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 1 tukui packages fetched
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 wowi packages fetched
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 hub packages fetched
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 git packages fetched
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 addons built from curse packages
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 1 addons built from tukui packages
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 addons built from wowi packages
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 addons built from hub packages
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 0 addons built from git packages
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 1 unknown addon folders
10:52:41.229 [ajour_core::parse][DEBUG] Retail - 2 addons successfully parsed
10:52:41.229 [ajour::gui::update][DEBUG] Message::ParsedAddons(Retail, 2 addons)
10:52:41.685 [ajour_core::parse][DEBUG] Classic TBC - 32 curse packages fetched
10:52:41.686 [ajour_core::parse][DEBUG] Classic TBC - 0 tukui packages fetched
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 7 wowi packages fetched
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 0 hub packages fetched
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 0 git packages fetched
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 25 addons built from curse packages
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 0 addons built from tukui packages
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 1 addons built from wowi packages
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 0 addons built from hub packages
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 0 addons built from git packages
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 1 unknown addon folders
10:52:41.891 [ajour_core::parse][DEBUG] Classic TBC - 27 addons successfully parsed
10:52:41.892 [ajour::gui::update][DEBUG] Message::ParsedAddons(Classic TBC, 27 addons)
10:52:44.273 [ajour::gui::update][DEBUG] Message::RuntimeEvent(CloseRequested)