pdemonaco / factorio-mod-updater

Python script to update mods on a dedicated factorio server
43 stars 14 forks source link

bug: Mod names which include underscores are handled incorrectly #6

Closed szentigrad3 closed 4 years ago

szentigrad3 commented 4 years ago

omnilib: validating installed '3.18.2'...Valid! omnimatter: removing 'omnimatter_science_3.18.2.zip' omnimatter: removing 'omnimatter_water_3.18.0.zip' omnimatter: removing 'omnimatter_crystal_3.18.1.zip' omnimatter: removing 'omnimatter_permutation_1.18.0.zip' omnimatter: removing 'omnimatter_wood_3.18.1.zip' omnimatter: validating installed '3.18.1'...Valid! omnimatter_crystal: validating installed '3.18.1'...Traceback (most recent call last): File "/home/noidea/mod_updater.py", line 582, in UPDATER.update() File "/home/noidea/mod_updater.py", line 424, in update self._download_latest_release(mod) File "/home/noidea/mod_updater.py", line 496, in _download_latest_release if _validate_hash(latest['sha1'], target): File "/home/noidea/mod_updater.py", line 38, in _validate_hash with open(target, 'rb') as target_fp: FileNotFoundError: [Errno 2] No such file or directory: '/home/noidea/factorio2/mods/omnimatter_crystal_3.18.1.zip'

pdemonaco commented 4 years ago

Hi @szentigrad3,

It's hard to tell what's happening from your snippet. Can you provide the following information?

The updater will remove all old versions of mods as well as those which fail to match the checksum retrieved from the mod API. The output you've listed here looks somewhat strange as the action normally occurs right after the update step.

Thanks!

szentigrad3 commented 4 years ago

./mod_updater.py -s /home/noidea/factorio2/data/server-settings.json -m /home/noidea/factorio2/mods --fact-path /home/noidea/factorio2/bin/x64/factorio --update

mod-list.txt

noidea@exothermic:~$ find /home/noidea/factorio2/mods/ -type f /home/noidea/factorio2/mods/bobassembly_0.18.4.zip /home/noidea/factorio2/mods/TheFatController_5.0.1.zip /home/noidea/factorio2/mods/even-distribution_0.3.17.zip /home/noidea/factorio2/mods/bobinserters_0.18.1.zip /home/noidea/factorio2/mods/what-is-it-really-used-for_1.5.12.zip /home/noidea/factorio2/mods/Warehousing_0.3.0.zip /home/noidea/factorio2/mods/PickerTweaks_2.2.1.zip /home/noidea/factorio2/mods/Factorissimo2_2.4.1.zip /home/noidea/factorio2/mods/PickerEquipmentKeys_1.1.0.zip /home/noidea/factorio2/mods/far-reach_0.18.0.zip /home/noidea/factorio2/mods/mod-list.json /home/noidea/factorio2/mods/omnilib_3.18.2.zip /home/noidea/factorio2/mods/VehicleSnap_1.18.1.zip /home/noidea/factorio2/mods/TogglePeacefulMode_0.1.5.zip /home/noidea/factorio2/mods/angelsrefining_0.11.8.zip /home/noidea/factorio2/mods/helmod_0.10.14.zip /home/noidea/factorio2/mods/angelsinfiniteores_0.9.2.zip /home/noidea/factorio2/mods/omnimatter_science_3.18.2.zip /home/noidea/factorio2/mods/bobelectronics_0.18.1.zip /home/noidea/factorio2/mods/upgrade-planner-next_2.1.1.zip /home/noidea/factorio2/mods/bobmining_0.18.1.zip /home/noidea/factorio2/mods/AutoTrash_5.1.1.zip /home/noidea/factorio2/mods/Robot_Battery_Research_0.2.0.zip /home/noidea/factorio2/mods/Bottleneck_0.11.3.zip /home/noidea/factorio2/mods/bobequipment_0.18.1.zip /home/noidea/factorio2/mods/stdlib_1.4.2.zip /home/noidea/factorio2/mods/rso-mod_6.0.6.zip /home/noidea/factorio2/mods/underground-pipe-pack_0.18.0.zip /home/noidea/factorio2/mods/KitchsDynamicPersonalLighting_0.1.1.zip /home/noidea/factorio2/mods/OpteraLib_0.2.1.zip /home/noidea/factorio2/mods/Clowns-Extended-Minerals_1.1.11.zip /home/noidea/factorio2/mods/omnimatter_water_3.18.0.zip /home/noidea/factorio2/mods/Clowns-Science_1.0.18.zip /home/noidea/factorio2/mods/CopyAssemblerPipeDirection_0.1.3.zip /home/noidea/factorio2/mods/omnimatter_3.18.1.zip /home/noidea/factorio2/mods/bobplates_0.18.6.zip /home/noidea/factorio2/mods/BitersBegoneUpdated_0.2.1.zip /home/noidea/factorio2/mods/bobgreenhouse_0.18.0.zip /home/noidea/factorio2/mods/OSHA_BotRecaller_patch_0.1.0.zip /home/noidea/factorio2/mods/bobores_0.18.2.zip /home/noidea/factorio2/mods/ShinyBobGFX_0.18.3.zip /home/noidea/factorio2/mods/boblibrary_0.18.5.zip /home/noidea/factorio2/mods/angelsbioprocessing_0.7.6.zip /home/noidea/factorio2/mods/FARL_4.0.1.zip /home/noidea/factorio2/mods/Clowns-Processing_1.3.10.zip /home/noidea/factorio2/mods/PickerDollies_1.1.1.zip /home/noidea/factorio2/mods/alien-biomes_0.5.2.zip /home/noidea/factorio2/mods/crafting_combinator_0.15.2.zip /home/noidea/factorio2/mods/rusty-locale_1.0.6.zip /home/noidea/factorio2/mods/angelsindustries_0.3.6.zip /home/noidea/factorio2/mods/PickerInventoryTools_1.1.2.zip /home/noidea/factorio2/mods/PickerAtheneum_1.2.0.zip /home/noidea/factorio2/mods/bobtech_0.18.3.zip /home/noidea/factorio2/mods/auto-research-18_5.1.1.zip /home/noidea/factorio2/mods/Clowns-Nuclear_1.3.8.zip /home/noidea/factorio2/mods/alien-biomes-hr-terrain_0.5.1.zip /home/noidea/factorio2/mods/PickerBlueprinter_1.1.1.zip /home/noidea/factorio2/mods/Enhanced_Map_Colors_1.5.1.zip /home/noidea/factorio2/mods/PickerVehicles_1.1.0.zip /home/noidea/factorio2/mods/Clowns-AngelBob-Nuclear_1.1.13.zip /home/noidea/factorio2/mods/logistic-cargo-wagon_0.18.2.zip /home/noidea/factorio2/mods/tree_collision_0.6.1.zip /home/noidea/factorio2/mods/geothermalgen_0.2.6.zip /home/noidea/factorio2/mods/fluid-void-extra_1.4.1.zip /home/noidea/factorio2/mods/omnimatter_crystal_3.18.1.zip /home/noidea/factorio2/mods/bobmodules_0.18.2.zip /home/noidea/factorio2/mods/AutoDeconstruct_0.1.17.zip /home/noidea/factorio2/mods/radarplus for rso_0.0.7.zip /home/noidea/factorio2/mods/clock_0.18.0.zip /home/noidea/factorio2/mods/angelssmelting_0.6.4.zip /home/noidea/factorio2/mods/PickerExtended_4.1.1.zip /home/noidea/factorio2/mods/miniloader_1.11.0.zip /home/noidea/factorio2/mods/Cursed-BCR_0.1.1.zip /home/noidea/factorio2/mods/longer-belts-redux_0.18.1.zip /home/noidea/factorio2/mods/extendedangels_0.3.3.zip /home/noidea/factorio2/mods/mini-machines_7.1.3.zip /home/noidea/factorio2/mods/Flow Control_3.0.6.zip /home/noidea/factorio2/mods/mod-settings.dat /home/noidea/factorio2/mods/bobenemies_0.18.3.zip /home/noidea/factorio2/mods/robotworld-continued_0.18.6.zip /home/noidea/factorio2/mods/EvoGUI_0.4.501.zip /home/noidea/factorio2/mods/PickerBeltTools_1.2.0.zip /home/noidea/factorio2/mods/ShinyAngelGFX_0.18.2.zip /home/noidea/factorio2/mods/StoneWaterWell_1.18.4.zip /home/noidea/factorio2/mods/InfiniteWorkerRobotCapacity_Research_0.1.51.zip /home/noidea/factorio2/mods/Crafting_Speed_Research_0.2.2.zip /home/noidea/factorio2/mods/ShinyIcons_0.18.1.zip /home/noidea/factorio2/mods/angelspetrochem_0.9.6.zip /home/noidea/factorio2/mods/LoaderRedux_1.5.1.zip /home/noidea/factorio2/mods/boblogistics_0.18.7.zip /home/noidea/factorio2/mods/omnimatter_permutation_1.18.0.zip /home/noidea/factorio2/mods/only-smelting_0.2.5.zip /home/noidea/factorio2/mods/bobvehicleequipment_0.18.1.zip /home/noidea/factorio2/mods/manual-inventory-sort_2.2.1.zip /home/noidea/factorio2/mods/YARM_0.8.101.zip /home/noidea/factorio2/mods/Nanobots_3.2.5.zip /home/noidea/factorio2/mods/bobrevamp_0.18.2.zip /home/noidea/factorio2/mods/omnimatter_wood_3.18.1.zip /home/noidea/factorio2/mods/PickerPipeTools_1.1.0.zip /home/noidea/factorio2/mods/VoidChestPlus_2.3.2.zip /home/noidea/factorio2/mods/bobwarfare_0.18.4.zip /home/noidea/factorio2/mods/bobpower_0.18.5.zip

Factorio Release: 0.18

Retrieving metadata....................................................................................................complete! Info: adding missing dependency angelsaddons-crawlertrain alien-biomes: validating installed '0.5.2'...Valid! alien-biomes-hr-terrain: validating installed '0.5.1'...Valid! angelsbioprocessing: validating installed '0.7.6'...Valid! angelsindustries: validating installed '0.3.6'...Valid! angelsinfiniteores: validating installed '0.9.2'...Valid! angelspetrochem: validating installed '0.9.6'...Valid! angelsrefining: validating installed '0.11.8'...Valid! angelssmelting: validating installed '0.6.4'...Valid! auto-research-18: validating installed '5.1.1'...Valid! AutoDeconstruct: validating installed '0.1.17'...Valid! AutoTrash: validating installed '5.1.1'...Valid! BitersBegoneUpdated: validating installed '0.2.1'...Valid! bobassembly: validating installed '0.18.4'...Valid! bobelectronics: validating installed '0.18.1'...Valid! bobenemies: validating installed '0.18.3'...Valid! bobequipment: validating installed '0.18.1'...Valid! bobgreenhouse: validating installed '0.18.0'...Valid! bobinserters: validating installed '0.18.1'...Valid! boblibrary: validating installed '0.18.5'...Valid! boblogistics: validating installed '0.18.7'...Valid! bobmining: validating installed '0.18.1'...Valid! bobmodules: validating installed '0.18.2'...Valid! bobores: validating installed '0.18.2'...Valid! bobplates: validating installed '0.18.6'...Valid! bobpower: validating installed '0.18.5'...Valid! bobrevamp: validating installed '0.18.2'...Valid! bobtech: validating installed '0.18.3'...Valid! bobvehicleequipment: validating installed '0.18.1'...Valid! bobwarfare: validating installed '0.18.4'...Valid! Bottleneck: validating installed '0.11.3'...Valid! clock: validating installed '0.18.0'...Valid! Clowns-AngelBob-Nuclear: validating installed '1.1.13'...Valid! Clowns-Extended-Minerals: validating installed '1.1.11'...Valid! Clowns-Nuclear: validating installed '1.3.8'...Valid! Clowns-Processing: validating installed '1.3.10'...Valid! Clowns-Science: validating installed '1.0.18'...Valid! CopyAssemblerPipeDirection: validating installed '0.1.3'...Valid! crafting_combinator: validating installed '0.15.2'...Valid! Crafting_Speed_Research: validating installed '0.2.2'...Valid! Cursed-BCR: validating installed '0.1.1'...Valid! Enhanced_Map_Colors: validating installed '1.5.1'...Valid! even-distribution: validating installed '0.3.17'...Valid! EvoGUI: validating installed '0.4.501'...Valid! extendedangels: validating installed '0.3.3'...Valid! Factorissimo2: validating installed '2.4.1'...Valid! far-reach: validating installed '0.18.0'...Valid! FARL: validating installed '4.0.1'...Valid! Flow Control: validating installed '3.0.6'...Valid! fluid-void-extra: validating installed '1.4.1'...Valid! geothermalgen: validating installed '0.2.6'...Valid! helmod: validating installed '0.10.14'...Valid! InfiniteWorkerRobotCapacity_Research: No release found for factorio '0.18', skipping update! KitchsDynamicPersonalLighting: validating installed '0.1.1'...Valid! LoaderRedux: validating installed '1.5.1'...Valid! logistic-cargo-wagon: validating installed '0.18.2'...Valid! longer-belts-redux: validating installed '0.18.1'...Valid! manual-inventory-sort: validating installed '2.2.1'...Valid! mini-machines: validating installed '7.1.3'...Valid! miniloader: validating installed '1.11.0'...Valid! Nanobots: validating installed '3.2.5'...Valid! omnilib: validating installed '3.18.2'...Valid! omnimatter: removing 'omnimatter_science_3.18.2.zip' omnimatter: removing 'omnimatter_water_3.18.0.zip' omnimatter: removing 'omnimatter_crystal_3.18.1.zip' omnimatter: removing 'omnimatter_permutation_1.18.0.zip' omnimatter: removing 'omnimatter_wood_3.18.1.zip' omnimatter: validating installed '3.18.1'...Valid! omnimatter_crystal: validating installed '3.18.1'...Traceback (most recent call last): File "/home/noidea/mod_updater.py", line 582, in UPDATER.update() File "/home/noidea/mod_updater.py", line 424, in update self._download_latest_release(mod) File "/home/noidea/mod_updater.py", line 496, in _download_latest_release if _validate_hash(latest['sha1'], target): File "/home/noidea/mod_updater.py", line 38, in _validate_hash with open(target, 'rb') as target_fp: FileNotFoundError: [Errno 2] No such file or directory: '/home/noidea/factorio2/mods/omnimatter_crystal_3.18.1.zip'

Python 3.6.9

pdemonaco commented 4 years ago

Thanks! I see the problem, hopefully I'll have a fix shortly.