Skip to content

Plugin Options

Jonathan Jones edited this page Mar 18, 2024 · 18 revisions

Currently the only supported plugins are EDDBlink and EDMC_batch. Others are included 'as is'.

If anything bad happens as a result of using them, your data gets ruined, or your dog gets pregnant, please don't ask us for help. If anyone wants to assume responsibility for any given plugin, we will be glad to consider it supported.


Spansh

The Spansh plugin imports market data from https://spansh.co.uk/dumps/galaxy_stations.json.gz.

Basic Usage

# download the data from the default location:
$ trade import -P spansh

# download the data from an alternate location:
$ trade import -P spansh -O url=https://example.com/alternate/source/galaxy_stations.json

# import the data from a previously downloaded file:
$ trade import -P spansh -O file=previously/downloaded/galaxy_stations.json

EDDBlink

EDDBlink updates market data using mirrored copies of EDDB's api files & collected data from an EDDN listener, currently running on Tromador's server.

If for any reason the EDDBlink server goes down it will automatically fallback to downloading directly from EDDB.io's API.

Basic usage:

trade.py import -P eddblink
  This will check for and import new data from EDDB. If
  you have newer data of your own, it will not be overwritten.

trade.py import -P eddblink -O all
  Starts by checking for new Systems, Stations, ShipVendors, etc,
  listed in the ".json" files mirrored from EDDB by Tromador
  Then imports prices from Tromador's EDDBlink server.

It is recommended to include the 'skipvend' option (, as for example, '-O clean,skipvend',) on slower computers when doing any run, including the first run.

It is recommended to pass no options after the first run, as by default eddblink imports just the listings, (updating the item, system, and station lists if needed,) and to use '-O all' whenever changes to the game have been made (such as the addition of new ships, or the removal of commodities).

'-O clean' will COMPLETELY WIPE the database and rebuild it from scratch using the downloaded dump files. This may be useful if your database has become corrupted for any reason.

Options (-O):

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.)
skipvend:     Don't regenerate ShipVendors or UpgradeVendors. (Supercedes '-O all', '-O clean').
force:        Force regeneration of selected items even if source file not updated since previous run.
			  (Useful for updating Vendor tables if they were skipped during a '-O clean' run.)
fallback:     Fallback to using EDDB.io if Tromador's server isn't working.
solo:         Don't download crowd-sourced market data. (Implies '-O skipvend'. Supercedes '-O all', '-O clean', '-O listings'.)

EDMC_Batch

This plugin is designed to import multiple Elite Dangerous Market Connector .prices files all at once, either by passing it a list of files, a folder containing multiple files, or both. The plugin only works with files that contain one and only one station per file, such as EDMC generates.

Accepts two options: "files", a ';' separated list of files; and "folder", which contains a single path. For both options, if the folder or any of the files have one or more spaces in the path, the entirety must be enclosed in quotes.

Examples:

trade.py import -P edmc_batch -O files=test.prices
trade.py import -P edmc_batch -O files=test.prices;..\test2\test2.prices
trade.py import -P edmc_batch -O files="test.prices;..\test2\test2.prices;..\test3\test with space.prices"
trade.py import -P edmc_batch -O folder=C:\Users\eyeonus\Documents\EDMC
trade.py import -P edmc_batch -O folder="L:\custom EDMC logging folder"
trade.py import -P edmc_batch -O folder=C:\Users\eyeonus\Documents\EDMC files="test.prices;..\test2\test2.prices;..\test3\test with space.prices"

Elite Dangerous Mobile API import plugin:

Frontier provides an API for their mobile app. This can be used to report accurate information about your currently docked station such as market prices, shipyard, and other station information. The "edapi" plugin provides a way to accurately import this information into your prices file and optionally report the market prices to EDDN.

Basic usage:

trade.py import --plug edapi
  This will query the API for information abotu your currently docked
  station and import any market prices and shipyard information
  available. You will be prompted to enter any missing station information.

trade.py imp -P edapi -O eddn
  This will do the same thing, but also post your market, shipyard, and
  outfitting modules to EDDN.

trade.py imp -P edapi -O test=tmp/profile.20160707_202255.json
  This will load a API-response from the given file and work with that
  instead of querying to the companion API. If the EDDN option is also
  given, it will use the "test" schema instead of the production one
  and print out the sent message(s).

Options (-O):

csvs:  Merge shipyards into ShipVendor.csv.
edcd:  Call the EDCD plugin first (see below).
eddn:  Post market, shipyard and outfitting to EDDN.
name:  Do not obfuscate commander name for EDDN submit.
save:  Save the API response (tmp/profile.YYYYMMDD_HHMMSS.json).
test:  Test the plugin with a json file (test=[FILENAME]).
warn:  Ask for station update if a API<->DB diff is encountered.
login: Ask for login credentials.

Elite Dangerous netLog parser import plugin:

Elite Dangerous writes a logfile which includes the name and position data of the system you are in.

This plugin tries to extract these information and store it in the database.

In order do find the log files, the environment variable "FDEVLOGDIR" must be set to the correct path. Take a look at 'scripts/README.txt' how the varibale "TRADEDIR" is set and just do it for "FDEVLOGDIR".

  • Q: And how do I find the correct path?
  • A: Yeah, well, that depends on your installation. Take a look at the NetLog entry from the Frontier support FAQ

Basic usage:

trade.py import --plug netlog
  This will parse all found netlog files and adds new systems to the database.

trade.py import --plug netlog -O last
  This will parse the newest netlog file and adds new systems to the database.

trade.py imp -P netlog -O show
  This will parse all found netlog files but will only display the new systems
  without adding them to the database.

trade.py imp -P netlog -O date=2016-01,last
  This will parse the newest netlog file from January 2016 and adds new systems
  to the database.
  The date given can be given in the form [YY]YY[-MM[-DD]]. Year is mandatory
  in 2- or 4-digit form, month and day are optional 2-digits, separator
  is the hyphen "-".

Options (-O):

last:  Only parse the last (newest) netLog file.
date:  Only parse netLog files from date, format=[YY]YY[-MM[-DD]].
show:  Only show the system name and position. Don't update the DB.

(All options can be combined.)

Elite Dangerous Journal parser import plugin:

Elite Dangerous writes a journal-file which includes system and station data.

This plugin tries to extract these information and store them in the database.

In order do find the log files, the environment variable "FDEVJRNDIR" must be set to the correct path. Take a look at 'scripts/README.txt' how the varibale "TRADEDIR" is set and just do it for "FDEVJRNDIR".

  • Q: And how do I find the correct path?
  • A: The journal files are written into the user's Saved Games folder, eg, for Windows: C:\Users\[User Name]\Saved Games\Frontier Developments\Elite Dangerous

Basic usage:

trade.py import --plug journal
  This will parse all found journal files and adds new systems/stations
  to the database and maybe update some station data.

trade.py import --plug journal -O last
  This will parse the newest journal file and adds new systems/stations
  to the database and maybe update some station data.

trade.py imp -P journal -O show
  This will parse all found journal files but will only display new systems
  and stations without adding them to the database.

trade.py imp -P journal -O date=2017-05,last
  This will parse the newest journal file from May 2017 and adds new
  systems/stations to the database and maybe update some station data.
  The date given can be given in the form [YY]YY[-MM[-DD]]. Year is mandatory
  in 2- or 4-digit form, month and day are optional 2-digits, separator
  is the hyphen "-".

Options (-O):

last:  Only parse the last (newest) Journal file.
date:  Only parse Journal files from date, format=[YY]YY[-MM[-DD]].
show:  Only show the system or station. Don't update the DB.

(All options can be combined.)

Elite Dangerous Community Developers (EDCD) import plugin:

In the provided API for their mobile app Frontier sends IDs. These IDs are unique and could be used to map the FDevIDs to internal database names (or IDs). This plugin synchronises the FDevIDs (from EDCD) with the TD database, which should help the EDAPI (and the included EDDN) to be more accurate.

Basic usage:

trade.py import --plug edcd
  This does nothing.

trade.py imp -P edapi -O csvs
  This will download all three (shipyard, commodity, outfitting) FDevIDs
  CSV-files and import them into the database.

Options (-O):

local:      Use local EDCD CSV-files.
shipyard:   Download and process EDCD shipyard.csv
commodity:  Download and process EDCD commodity.csv
outfitting: Download and process EDCD outfitting.csv
csvs:       Download and process all EDCD CSV-files.