a8424e830e
Adds download_at to files, skips files that are impossible to download
2021-07-28 23:54:39 -04:00
8a356ac7f5
Retry connect failures, write plugins to disk instead of zip archive
...
Writing to the zip was starting to take forever. It makes more sense to just use my big HD and then zip after I'm done downloading every file.
2021-07-26 19:31:25 -04:00
f62324d36c
Reset main.rs back w/ fix to listing RAR files
2021-07-26 17:02:14 -04:00
5d62fb7d61
Fix plugin listing for rar files, temporary backfil shim
...
`main` is just backfilling the eixsting bad rar files in the db. I will return script to normal once it's run.
2021-07-26 01:16:43 -04:00
523f3eeb3f
Add retry logic to metadata fetch, don't crash on 500
2021-07-25 18:03:54 -04:00
39ae7703b0
Upgrade skyrim-cell-dump and handle Cow<str>
s
2021-07-23 23:40:05 -04:00
81f12da99c
Upgrade unrar to master branch to fix Utf8Error
2021-07-23 19:34:03 -04:00
77562a7a05
Add CLI args with page, skip unreadable archives
2021-07-22 21:50:28 -04:00
f337917c99
Batch insert mods, add lifetimes to batch inserts
...
Using `&str`s prevents unneeded cloning everywhere, but unfortunately it doesn't work with the sqlx macros.
2021-07-21 23:20:51 -04:00
04773954f9
Remove backfill, add bulk get game_mod method
2021-07-21 22:25:45 -04:00
4b333b3b99
Add world tables and columns, temporary backfill
...
Too lazy to make a new script, main() has a backfill using plugins.zip. Once I run it I will remove it.
2021-07-21 21:35:11 -04:00
0e0fdfd59d
Migration and models for worlds/plugin_worlds
2021-07-19 23:47:00 -04:00
1fd979b8e0
Skip archived files which cannot be downloaded
2021-07-18 22:11:03 -04:00
f6a7490214
Skip empty or invalid file archives
2021-07-18 16:06:49 -04:00
a0aa24f360
Log warning and skip invalid plugins
...
There's not much I can do for plugins with invalid headers (e.g. TES4 Oblivion plugins), so just log the error and skip over it. A plugin row will not be created in the DB for invalid plugins.
It was useful to crash the process on parse errors before when I was working out the kinks in the parser, but I think I'm confident enough in it now to skip over the parse failures and defer analyzing the failures until after the fact to make sure there still isn't a bug in the parser and I skipped over a valid TES5 plugin.
Also fixes the plugin span logging in the delate64 error case when extracting zip files.
2021-07-18 15:09:23 -04:00
4e500f0b0b
Various fixes to errors that occurred during runs
...
Don't crash if metadata link 404s.
If extracting file from zip fails, try using linux unzip command instead. This fixes errors due to deflate64 compression.
2021-07-17 14:19:43 -04:00
621b98cd8c
Only process files (not dirs) extracted from rar
2021-07-15 13:46:33 -04:00
93d4bfeca2
Skip downloading files with no plugins
...
Can determine if file contains plugin by recursively walking the file metadata listing until a .esp/.esm/.esl is found.
2021-07-12 19:33:43 -04:00
fd8015024f
Always uncompress entire rar archive
...
To avoid libarchive bugs.
2021-07-12 13:49:02 -04:00
af5c11acc7
Tweak rate limit delay logic, log skipped files
2021-07-12 12:15:07 -04:00
81fcdfa381
Skip processing of invalid empty plugins
2021-07-12 10:43:03 -04:00
b609e7059a
Log spans, track size & undownloadable files
2021-07-11 22:49:29 -04:00
792e78391c
Replace dbg macros with tracing events
2021-07-11 19:45:26 -04:00
22757bc475
Modularize scraping and api requests
2021-07-09 00:37:08 -04:00
19350081c3
Move SQL stuff into separate models module
2021-07-08 21:19:16 -04:00
d8080091f2
Skip already processed mods, fix pagination
2021-07-06 23:29:09 -04:00
184d240aac
Fix handling rar files
...
Extracts rar files completely with unrar to avoid issue with compress-tools not supporting extracting certain rar files.
2021-07-04 00:01:59 -04:00
Tyler Hallada
421f2b7071
WIP fix rar file extraction
...
Also, starting to break up into smaller functions
2021-07-03 16:00:18 -04:00
d6b8f4e74a
Mostly working download loop done
...
Still need to fix a panic that happens on some .rar archive files.
2021-06-13 22:30:40 -04:00
b132a94c64
Initital commit
...
Not quite working yet. WIP.
2021-06-03 12:30:04 -04:00