mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-12 15:27:14 +03:00
shipyard.py: flake8/mypy & conver to use csv
module
This commit is contained in:
parent
0d2505ea48
commit
5edde547fa
39
shipyard.py
39
shipyard.py
@ -1,24 +1,35 @@
|
|||||||
# Export list of ships as CSV
|
"""Export list of ships as CSV."""
|
||||||
|
import csv
|
||||||
|
|
||||||
import time
|
import companion
|
||||||
|
|
||||||
from config import config
|
|
||||||
from edmc_data import ship_name_map
|
from edmc_data import ship_name_map
|
||||||
|
|
||||||
|
|
||||||
def export(data, filename):
|
def export(data: companion.CAPIData, filename: str) -> None:
|
||||||
|
"""
|
||||||
querytime = config.get_int('querytime', default=int(time.time()))
|
Write shipyard data in Companion API JSON format.
|
||||||
|
|
||||||
|
:param data: The CAPI data.
|
||||||
|
:param filename: Optional filename to write to.
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
assert data['lastSystem'].get('name')
|
assert data['lastSystem'].get('name')
|
||||||
assert data['lastStarport'].get('name')
|
assert data['lastStarport'].get('name')
|
||||||
assert data['lastStarport'].get('ships')
|
assert data['lastStarport'].get('ships')
|
||||||
|
|
||||||
header = 'System,Station,Ship,FDevID,Date\n'
|
with open(filename, 'w', newline='') as f:
|
||||||
rowheader = '%s,%s' % (data['lastSystem']['name'], data['lastStarport']['name'])
|
c = csv.writer(f)
|
||||||
|
c.writerow(('System', 'Station', 'Ship', 'FDevID', 'Date'))
|
||||||
|
|
||||||
h = open(filename, 'wt')
|
for (name, fdevid) in [
|
||||||
h.write(header)
|
(
|
||||||
for (name,fdevid) in [(ship_name_map.get(ship['name'].lower(), ship['name']), ship['id']) for ship in list((data['lastStarport']['ships'].get('shipyard_list') or {}).values()) + data['lastStarport']['ships'].get('unavailable_list')]:
|
ship_name_map.get(ship['name'].lower(), ship['name']),
|
||||||
h.write('%s,%s,%s,%s\n' % (rowheader, name, fdevid, data['timestamp']))
|
ship['id']
|
||||||
h.close()
|
) for ship in list(
|
||||||
|
(data['lastStarport']['ships'].get('shipyard_list') or {}).values()
|
||||||
|
) + data['lastStarport']['ships'].get('unavailable_list')
|
||||||
|
]:
|
||||||
|
c.writerow((
|
||||||
|
data['lastSystem']['name'], data['lastStarport']['name'],
|
||||||
|
name, fdevid, data['timestamp']
|
||||||
|
))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user