Okay, so, this is about 95% finished, in that I haven't gotten the RareItem import coded yet, but I've spent the last few days working on a plugin that does half the job Maddavo's site used to do:
When the plugin is run (depending on the chosen options), it will download the needed daily dumps from eddb and process them to create all the tables in the TradeDangerous database, including market data, and will generate a .prices file from the listings.csv
This won't get the most up-to-the-minute market data, since the eddb dumps happen once per day, it gets everything but the data submitted since the latest dump, which means not more than 24 hours after the submission.
It does check to see if the data already entered is newer than the data from eddb, so it won't overwrite newer data gathered by the user (i.e. with "trade.py import -P edapi -O eddn") if that's more recent.
I'm working on a user-side eddn listen server next, so that this plugin and the listen server combined fully replace Maddavo's site.
It makes a few changes to the database, removing AUTOINCREMENT from most of the tables and adding a cost column to the Upgrade table, which means on first run it has to completely erase the database and rebuild it from scratch. I did not make the decision to do this lightly: AUTOINCREMENT was removed so that the TDDB entries would match with EDDB, not have a random id based on at what point the entry was added, which simplifies adding entries that reference entries in other tables (like Stations reference the id of the System they're in, for example).
For some reason, trade.py throws an error trying to compile the help for the plugin, so these are the options:
'item': "Regenerate Categories and Items using latest commodities.json dump.",
'system': "Regenerate Systems using latest system-populated.jsonl dump.",
'station': "Regenerate Stations using latest stations.jsonl dump. (implies '-O system')",
'ship': "Regenerate Ships using latest coriolis.io json dump.",
'shipvend': "Regenerate ShipVendors using latest stations.jsonl dump. (implies '-O system,station,ship')",
'upgrade': "Regenerate Upgrades using latest modules.json dump.",
'upvend': "Regenerate UpgradeVendors using latest stations.jsonl dump. (implies '-O system,station,upgrade')",
'listings': "Update market data using latest listings.csv dump. (implies '-O item,system,station')",
'all': "Update everything with latest dumpfiles. (Regenerates all tables)",
'clean': "Erase entire database and rebuild from empty. (Regenerates all tables.)",
If you want to try it out, place 'eddblink_plug.py' in the plugins folder of your TD install and run it.
On first run it will run with '-O clean' regardless of the options passed to it, because of the changes it needs to make to the database.
Thereafter, it is recommended to run with '-O listings', as the Ship, ShipVendor, Upgrade, and UpgradeVendor tables don't need to be updated under normal circumstances.
If anyone has any improvements to make the thing run faster, I'd appreciate it.
If anyone is willing to mirror the eddb files so as not to stress the eddb server, that'd be awesome, let me know the URL and I'll update the plugin to use that instead.
I've included the .prices file that it generated as well as the updated Category, Item, Station, and System .csv files, so anyone that wants can have a market update that's current as of approximately 2018-04-21 03:00:00 UTC (The approximate time of the latest dump as of this writing.)
The plugin and the market update can both be found in my Google Drive:
eddblink_plug.py
Market Update 2018-04-21.7z