e85edff30a
Fix bad interior cell data in db
...
I had a bad unique index on the `cells` table. This commit does not fix
it but has two backfill scripts that will allow me to fixup the data
before creating the new unique index.
`is_base_game` identifies cells that are from the `Skyrim.esm` shipped
with the game (and not from some mod that happens to also have a
`Skyrim.esm` with a 0,0 cell with a different form id, see:
https://github.com/thallada/modmapper-web/issues/8 ).
`dump_cell_data` now only dumps cells from `is_base_game` cells.
`deduplicate_interior_cells` removes duplicate cell and plugin_cell rows
caused by the buggy index.
I will need to upgrade the database and create a new index in a later
commit.
2023-11-08 01:10:49 -05:00
56864c7f29
Fix mode page scraping
...
Was returning 403s for the past month.
2023-06-30 12:30:12 -04:00
694ef6e89b
Move spammy command log messages to debug level
...
And add some info level logs that summarize each command.
2023-04-24 00:04:29 -04:00
01444cd928
Update deps, rustfmt, clippy fixes
2023-04-20 00:47:14 -04:00
03cf20029e
Revert "Login before scraping mods to include adult mods"
...
This reverts commit bb02771b87
.
2022-10-02 02:37:15 -04:00
bb02771b87
Login before scraping mods to include adult mods
2022-10-02 00:34:38 -04:00
fa2de316cb
Try to extract .exe before skipping it
2022-09-29 20:16:36 -04:00
7f0f5ca2ff
Merge branch 'main' of github.com:thallada/modmapper into main
2022-09-29 20:10:58 -04:00
49fcde836a
Skip .exe files
2022-09-29 20:10:55 -04:00
662bd7e355
Merge branch 'main' of github.com:thallada/modmapper into main
2022-09-27 12:19:10 -04:00
589b00923e
Replace trailing period in folder names when saving plugin file
...
NTFS apparently does not like that and it breaks.
2022-09-27 12:18:25 -04:00
cf4e83c054
Fix has_next_page scraping logic
...
The next button doesn't appear on the last four pages. Instead, check if the selected page is the last page.
2022-09-26 00:15:25 -04:00
203af0adc9
Scope bulk_get_last_updated_by_nexus_mod_ids by game_id
...
Was accidentally skipping a ton of skyrim mods because of this.
2022-09-26 00:03:39 -04:00
f2a4205b89
Handle missing author names
...
For some reason, some older Skyrim mods have an author link but no author text. In that case, default the name to "Unknown".
2022-09-17 12:25:59 -04:00
afefc8fef3
Don't try to parse dirs after extracting with 7z
2022-09-12 21:03:29 -04:00
fe908799d7
Try to fix saving plugins with "\\" in path
2022-09-05 18:47:43 -04:00
e531386095
Detect failed extract with 7zip
...
And skip the file if the metadata on the server is also missing (high probability that the archive is just corrupt if this is the case).
2022-09-04 17:42:21 -04:00
d2510c72aa
Remove unused import
2022-09-03 15:43:36 -04:00
e96d760a1c
Create mod subdirectories for each game
2022-09-03 14:29:50 -04:00
14be03cd3d
Make separate mod search indices per game instead
...
Saves significant amount of space in the json if I don't need to list a game name for every mod.
2022-09-03 00:49:57 -04:00
84a02971a0
Add game names to mod search index
2022-09-03 00:35:26 -04:00
782f7a473f
Add dump_games command
...
So the frontend can map game db ids to nexus names.
2022-09-03 00:34:59 -04:00
7d229ccd1a
Add support for scraping classic Skyrim mods
...
Not adding it to the update.sh script quite yet since I need to run the very long process of downloading every classic skyrim mod that currently exists on the nexus first.
2022-09-02 00:43:53 -04:00
89428da6e0
Fix plugins data dump with updated_after parameter
...
I was accidentally omitting plugins from the plugins data list when the `updated_after` parameter was used. Splitting it up into two queries makes it much simpler.
2022-08-21 00:16:51 -04:00
b80edb49fa
Serialize plugin hashes to strings
...
Avoids having dealing with JSON parsers on the frontend that loose precision and avoids having to convert integers to strings.
2022-08-08 23:37:27 -04:00
33a29df2cb
Dump file plugins with full_path, not file_name
...
Needed to distinguish two plugins of the same name in a file.
2022-07-23 01:00:48 -04:00
09c87fa93b
Split up batched mod data query to speed up dump
2022-06-05 02:58:11 -04:00
bafa405223
Add tracing logging to all commands
2022-06-04 18:51:20 -04:00
026d175da4
Add updated_after option to limit files generated on every run
...
Instead of generating files for all mods every update, only update files for mods that have been updated since the last run.
2022-06-04 00:50:11 -04:00
bed49d0953
Add a new command to dump files to json files
2022-06-01 00:54:29 -04:00
f59a0155d8
Add files array & file/plugin count to mod data json
2022-06-01 00:53:17 -04:00
04c0501514
Revert change to get_cell_data query
...
I didn't meant to commit this, it was an experiment that ended up being way too slow.
2022-03-23 17:24:41 -04:00
65f841eef3
Go back to INNER JOIN on mod_cell_counts instead
...
This saves a lot of space and there's no real need to differentiate between 0 and does not exist.
2022-03-18 00:28:23 -04:00
02c03bd1d9
Use LEFT OUTER JOIN to include mods with 0 cell edits
2022-03-18 00:16:33 -04:00
7a87f0fd22
Add command to generate mod_cell_counts.json
...
So that I can display cell edit counts in mod lists efficiently.
2022-03-17 23:51:32 -04:00
a42c22cf4b
Add is_translation to mod with backfill
...
Now, the update command will scrape all non-translation mods and translation mods separately so the is_translation value can be set correctly in the future.
2022-03-15 23:59:56 -04:00
Tyler Hallada
5d55e78283
Dump plugins by hash instead of id
...
The same exact plugins are often included in many different files/mods. Grouping by hash in the sql query will show all files and mods a plugin appears in. Previously, the last file that was processed would overwrite the plugin file and only that single file/mod would appear in the file.
Also adds an index on plugins.hash since I'm now querying directly on it.
2022-03-12 13:05:21 -05:00
c9dcd3b7c5
Include cells with plugin data
2022-03-10 23:27:26 -05:00
7552573d00
Dump plugins data with file and mod data
2022-03-10 22:32:46 -05:00
21fffd3c23
Remove dbg logging
2022-02-12 01:25:30 -05:00
4d9855552b
Add option for full update and default to false
...
When false, stop scraping pages after 50 pages of no new updates
2022-02-11 22:38:44 -05:00
283cad220b
Move tile_scraper from examples to commands
2022-02-08 00:13:14 -05:00
b8c5f63aeb
Refactor main.rs into separate files
...
Create new `commands` mod with file for each command line option.
Create a couple more extractor files for moving 7zip and unrar methods into.
2022-02-08 00:02:26 -05:00
51175933d6
Fix skyrim worldspace filter in mod cells query
2022-02-06 23:31:31 -05:00
891dbd791a
Limit cells in mod files to Skyrim worldspace cells
2022-02-06 23:11:03 -05:00
240349cf1a
Add option for generating a mod search index for fuse.js
2022-01-24 23:20:51 -05:00
4875d2d764
Use LEFT OUTER JOIN to not skip mods in the dump
2022-01-24 22:46:23 -05:00
0c3d85d697
More efficient batched_get_with_cells
2022-01-24 22:33:50 -05:00
17facae842
Make ancestor cols not nullable, add fk constraints
...
Also removed the temporary backfill, now that it is complete.
Updates models so cols are not optional.
2022-01-24 21:41:45 -05:00
e5936683fa
Add ancestor id columns to plugins and plugin_cells
...
With temp backfill queries. Second stage will to make the columns nullable and add foreign keys.
I'm hoping that this will improve query performance.
2022-01-24 21:14:59 -05:00