1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-26 05:22:13 +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 coriolis
import shipyard import shipyard
import eddb import eddb
import eddn
import stats import stats
import prefs import prefs
from config import appcmdname, appversion, update_feed, config 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('-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('-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('-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 parser.add_argument('-j', help=argparse.SUPPRESS) # Import JSON dump
args = parser.parse_args() args = parser.parse_args()
@ -121,16 +123,18 @@ try:
sys.stderr.write("Station doesn't have anything!\n") sys.stderr.write("Station doesn't have anything!\n")
sys.exit(EXIT_SUCCESS) sys.exit(EXIT_SUCCESS)
# Fixup anomalies in the commodity data
fixed = session.fixup(data)
if args.j: if args.j:
# Collate from JSON dump # Collate from JSON dump
collate.addcommodities(data) collate.addcommodities(fixed)
collate.addmodules(data) collate.addmodules(fixed)
collate.addships(data) collate.addships(fixed)
if args.m: if args.m:
if data['lastStarport'].get('commodities'): if data['lastStarport'].get('commodities'):
data = session.fixup(data) # Fixup anomalies in the commodity data commodity.export(fixed, COMMODITY_DEFAULT, args.m)
commodity.export(data, COMMODITY_DEFAULT, args.m)
else: else:
sys.stderr.write("Station doesn't have a market\n") sys.stderr.write("Station doesn't have a market\n")
@ -151,6 +155,14 @@ try:
else: else:
sys.stderr.write("Station doesn't have a shipyard\n") 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) sys.exit(EXIT_SUCCESS)
except companion.ServerError as e: except companion.ServerError as e:

View File

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