Smannesman: Obviously I didn't write the script, I'm not that good, but I think the manifest just contains all the information downloaded from the website.
I think the download command does exactly what it says on the tin and just downloads files, it doesn't check the files currently there and just assumes they're fine. The theory probably is that you run the verify command with the '-delete' switch to remove files that fail verification and then use the download command to re-download the files that are now missing.
If that makes sense at all :P
I know you didn't write it, I'm just discussing it with you because you offered a suggestion that turned out to be useful. :)
My understanding though, is that the download command does include a size check, that's how it decides to skip things. The point is that these files were obviously failing the size check in order for the downloader to decide they needed redownloading. If they'd failed the check, I don't quite understand why it wasn't replacing said files with the data it was downloading. Every time I ran it, those particular files got flagged for redownloading and were redownloaded but the bad files never seemed to get replaced. It's strange.
Using the verify command with the -delete flag does make sense, it just seems strange that it redownloaded those files and still ended up with something the wrong size (until I deleted them outright). Maybe it was trying to 'resume' those files or something, I'm not a real programmer so I can't look at the script and see what it does when it finds a file present but of the wrong size.
Hi there, just got a crash while verifying, so here's the log:
18:08:59 | verifying earth_2140_trilogy\setup_earth_2140_2.0.0.2.exe...
18:09:02 | verifying earth_2140_trilogy\earth_2140_manual.zip...
18:09:02 | fatal...
Traceback (most recent call last):
File "I:\Games\GOG\gogrepo.py", line 1021, in <module>
main(process_argv(sys.argv))
File "I:\Games\GOG\gogrepo.py", line 1008, in main
cmd_verify(args.gamedir, check_md5, check_filesize, check_zips, args.delete)
File "I:\Games\GOG\gogrepo.py", line 908, in cmd_verify
if not test_zipfile(itm_file):
File "I:\Games\GOG\gogrepo.py", line 240, in test_zipfile
with zipfile.ZipFile(filename, 'r') as f:
File "C:\Python27\lib\zipfile.py", line 770, in __init__
self._RealGetContents()
File "C:\Python27\lib\zipfile.py", line 829, in _RealGetContents
fp.seek(self.start_dir, 0)
IOError: [Errno 22] Invalid argument
I:\Games\GOG>
Also, any input about my confusion in the previous post would be much appreciated. Thanks for your work on the script! I used to use the GOG downloader to verify my backups, but this is a lot less labour intensive than adding everything to the downloader (even with the .bat file I made).