wow-addon-updater icon indicating copy to clipboard operation
wow-addon-updater copied to clipboard

No longer works on curseforge after curseforge site updates

Open Rubio9 opened this issue 1 year ago • 0 comments

After the curseforge updates that went live on April 18 2023, wow-addon-updater can no longer find addon version:

Failed to find addon version number for game version: GameVersion.retail, https://www.curseforge.com/wow/addons/deadly-boss-mods
Failed to find addon version number for game version: GameVersion.retail, https://www.curseforge.com/wow/addons/deadly-boss-mods-dbm-dungeons
Failed to find addon version number for game version: GameVersion.retail, https://www.curseforge.com/wow/addons/details

and so on for every curseforge addon URL it examines.

  1. It looks like the "filter-game-version=1738749986:517"-type things to select a game version no longer function; the game version selector now fires a java script to filter the results.

  2. it's not finding versions because

 .../updater/site/curse.py", line 108, in versions:
            versions_table = soup.find('table', {'class': 'listing listing-project-file project-file-listing b-table b-table-a'})

does not find anything. the versions table appears to now be embedded in a <div class="files-table">

  1. Even finding the right table wouldn't currently help. The actual failure happens at
 .../updater/site/curse.py", line 110, in versions
    _, *version_rows = versions_table.find_all('tr')
AttributeError: 'NoneType' object has no attribute 'find_all'

but it wouldn't have found any <tr>s anyway; the new curseforge layout appears to be using a CSS grid layout instead of explicit <tr>/<td> elements now. Each row of the table is now a <div class="file-row"> within which are different other divs for the different data element columns.

Hope any of that is helpful. Thanks for supporting the WoW community with your project!

Rubio9 avatar Apr 21 '23 16:04 Rubio9