1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-25 05:00:53 +03:00

Add option to send data to EDDN

Fixes #139
This commit is contained in:
Jonathan Harris 2016-08-27 10:54:47 +01:00
parent 158058b3a4
commit c206170cc3
2 changed files with 18 additions and 5 deletions

22
EDMC.py
View File

@ -23,6 +23,7 @@ import loadout
import coriolis
import shipyard
import eddb
import eddn
import stats
import prefs
from config import appcmdname, appversion, update_feed, config
@ -50,6 +51,7 @@ try:
parser.add_argument('-s', metavar='FILE', help='write station shipyard data to FILE in CSV format')
parser.add_argument('-t', metavar='FILE', help='write player status to FILE in CSV format')
parser.add_argument('-d', metavar='FILE', help='write raw JSON data to FILE')
parser.add_argument('-n', action='store_true', help='send data to EDDN')
parser.add_argument('-j', help=argparse.SUPPRESS) # Import JSON dump
args = parser.parse_args()
@ -121,16 +123,18 @@ try:
sys.stderr.write("Station doesn't have anything!\n")
sys.exit(EXIT_SUCCESS)
# Fixup anomalies in the commodity data
fixed = session.fixup(data)
if args.j:
# Collate from JSON dump
collate.addcommodities(data)
collate.addmodules(data)
collate.addships(data)
collate.addcommodities(fixed)
collate.addmodules(fixed)
collate.addships(fixed)
if args.m:
if data['lastStarport'].get('commodities'):
data = session.fixup(data) # Fixup anomalies in the commodity data
commodity.export(data, COMMODITY_DEFAULT, args.m)
commodity.export(fixed, COMMODITY_DEFAULT, args.m)
else:
sys.stderr.write("Station doesn't have a market\n")
@ -151,6 +155,14 @@ try:
else:
sys.stderr.write("Station doesn't have a shipyard\n")
if args.n:
try:
eddn.export_commodities(data)
eddn.export_outfitting(data)
eddn.export_shipyard(data)
except Exception as e:
sys.stderr.write("Failed to send data to EDDN: %s\n" % unicode(e).encode('ascii', 'replace'))
sys.exit(EXIT_SUCCESS)
except companion.ServerError as e:

View File

@ -167,6 +167,7 @@ Arguments:
-s FILE write station shipyard data to FILE in CSV format
-t FILE write player status to FILE in CSV format
-d FILE write raw JSON data to FILE
-n FILE send data to EDDN
```
The program returns one of the following exit codes. Further information may be written to stderr.