mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-08 05:20:03 +03:00
Move util_ships.py ship_map to data.py ship_name_map
Also refactors data.py to edmc_data.py as I'm having weird issues with PyCharm debugger not starting, and this seems to be to do with module name clashes.
This commit is contained in:
parent
a80635fb46
commit
ad8c63c64c
@ -265,9 +265,9 @@ import plug
|
||||
import prefs
|
||||
import stats
|
||||
import td
|
||||
import util_ships
|
||||
from commodity import COMMODITY_CSV
|
||||
from dashboard import dashboard
|
||||
from edmc_data import ship_name_map
|
||||
from hotkey import hotkeymgr
|
||||
from l10n import Translations
|
||||
from monitor import monitor
|
||||
@ -824,7 +824,7 @@ class AppWindow(object):
|
||||
self.dump_capi_data(data)
|
||||
|
||||
if not monitor.state['ShipType']: # Started game in SRV or fighter
|
||||
self.ship['text'] = util_ships.ship_map.get(data['ship']['name'].lower(), data['ship']['name'])
|
||||
self.ship['text'] = ship_name_map.get(data['ship']['name'].lower(), data['ship']['name'])
|
||||
monitor.state['ShipID'] = data['ship']['id']
|
||||
monitor.state['ShipType'] = data['ship']['name'].lower()
|
||||
|
||||
@ -928,7 +928,7 @@ class AppWindow(object):
|
||||
ship_text = monitor.state['ShipName']
|
||||
|
||||
else:
|
||||
ship_text = util_ships.ship_map.get(monitor.state['ShipType'], monitor.state['ShipType'])
|
||||
ship_text = ship_name_map.get(monitor.state['ShipType'], monitor.state['ShipType'])
|
||||
|
||||
if not ship_text:
|
||||
ship_text = ''
|
||||
|
@ -11,9 +11,8 @@ from os.path import isfile
|
||||
from traceback import print_exc
|
||||
|
||||
import companion
|
||||
import data
|
||||
import outfitting
|
||||
import util_ships
|
||||
from edmc_data import ship_name_map
|
||||
|
||||
|
||||
def __make_backup(file_name: str, suffix: str = '.bak') -> None:
|
||||
@ -108,7 +107,7 @@ def addmodules(data):
|
||||
raise ValueError('id: {} != {}'.format(key, module['id']))
|
||||
|
||||
try:
|
||||
new = outfitting.lookup(module, util_ships.ship_map, True)
|
||||
new = outfitting.lookup(module, ship_name_map, True)
|
||||
|
||||
except Exception:
|
||||
print('{}, {}:'.format(module['id'], module['name']))
|
||||
@ -166,7 +165,7 @@ def addships(data):
|
||||
for ship in tuple(data_ships.get('shipyard_list', {}).values()) + data_ships.get('unavailable_list'):
|
||||
# sanity check
|
||||
key = int(ship['id'])
|
||||
new = {'id': key, 'symbol': ship['name'], 'name': util_ships.ship_map.get(ship['name'].lower())}
|
||||
new = {'id': key, 'symbol': ship['name'], 'name': ship_name_map.get(ship['name'].lower())}
|
||||
if new:
|
||||
old = ships.get(key)
|
||||
if old:
|
||||
|
@ -6,7 +6,7 @@ import hashlib
|
||||
import time
|
||||
|
||||
from config import config
|
||||
from data import commodity_bracketmap as bracketmap
|
||||
from edmc_data import commodity_bracketmap as bracketmap
|
||||
|
||||
|
||||
# DEFAULT means semi-colon separation
|
||||
|
@ -27,7 +27,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Union, cast
|
||||
import requests
|
||||
|
||||
from config import appname, appversion, config
|
||||
from data import companion_category_map as category_map
|
||||
from edmc_data import companion_category_map as category_map
|
||||
from EDMCLogging import get_main_logger
|
||||
from monitor import monitor
|
||||
from protocol import protocolhandler
|
||||
|
15
coriolis.py
15
coriolis.py
@ -4,20 +4,15 @@
|
||||
#
|
||||
|
||||
import csv
|
||||
import base64
|
||||
from collections import OrderedDict
|
||||
import pickle
|
||||
import json
|
||||
import pickle
|
||||
import subprocess
|
||||
import sys
|
||||
from collections import OrderedDict
|
||||
from traceback import print_exc
|
||||
|
||||
from config import config
|
||||
import outfitting
|
||||
import companion
|
||||
import util_ships
|
||||
from data import coriolis_ship_map
|
||||
|
||||
from edmc_data import coriolis_ship_map, ship_name_map
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@ -32,7 +27,7 @@ if __name__ == "__main__":
|
||||
data = json.load(open('coriolis-data/dist/index.json'))
|
||||
|
||||
# Symbolic name from in-game name
|
||||
reverse_ship_map = {v: k for k, v in list(util_ships.ship_map.items())}
|
||||
reverse_ship_map = {v: k for k, v in list(ship_name_map.items())}
|
||||
|
||||
bulkheads = list(outfitting.armour_map.keys())
|
||||
|
||||
@ -91,7 +86,7 @@ if __name__ == "__main__":
|
||||
reader = csv.DictReader(csvfile, restval='')
|
||||
for row in reader:
|
||||
try:
|
||||
module = outfitting.lookup({ 'id': row['id'], 'name': row['symbol'] }, util_ships.ship_map)
|
||||
module = outfitting.lookup({ 'id': row['id'], 'name': row['symbol'] }, ship_name_map)
|
||||
except:
|
||||
print(row['symbol'])
|
||||
print_exc()
|
||||
|
@ -424,3 +424,50 @@ GuiFocusOrrery = 8
|
||||
GuiFocusFSS = 9
|
||||
GuiFocusSAA = 10
|
||||
GuiFocusCodex = 11
|
||||
|
||||
ship_name_map = {
|
||||
'adder': 'Adder',
|
||||
'anaconda': 'Anaconda',
|
||||
'asp': 'Asp Explorer',
|
||||
'asp_scout': 'Asp Scout',
|
||||
'belugaliner': 'Beluga Liner',
|
||||
'cobramkiii': 'Cobra MkIII',
|
||||
'cobramkiv': 'Cobra MkIV',
|
||||
'clipper': 'Panther Clipper',
|
||||
'cutter': 'Imperial Cutter',
|
||||
'diamondback': 'Diamondback Scout',
|
||||
'diamondbackxl': 'Diamondback Explorer',
|
||||
'dolphin': 'Dolphin',
|
||||
'eagle': 'Eagle',
|
||||
'empire_courier': 'Imperial Courier',
|
||||
'empire_eagle': 'Imperial Eagle',
|
||||
'empire_fighter': 'Imperial Fighter',
|
||||
'empire_trader': 'Imperial Clipper',
|
||||
'federation_corvette': 'Federal Corvette',
|
||||
'federation_dropship': 'Federal Dropship',
|
||||
'federation_dropship_mkii': 'Federal Assault Ship',
|
||||
'federation_gunship': 'Federal Gunship',
|
||||
'federation_fighter': 'F63 Condor',
|
||||
'ferdelance': 'Fer-de-Lance',
|
||||
'hauler': 'Hauler',
|
||||
'independant_trader': 'Keelback',
|
||||
'independent_fighter': 'Taipan Fighter',
|
||||
'krait_mkii': 'Krait MkII',
|
||||
'krait_light': 'Krait Phantom',
|
||||
'mamba': 'Mamba',
|
||||
'orca': 'Orca',
|
||||
'python': 'Python',
|
||||
'scout': 'Taipan Fighter',
|
||||
'sidewinder': 'Sidewinder',
|
||||
'testbuggy': 'Scarab',
|
||||
'type6': 'Type-6 Transporter',
|
||||
'type7': 'Type-7 Transporter',
|
||||
'type9': 'Type-9 Heavy',
|
||||
'type9_military': 'Type-10 Defender',
|
||||
'typex': 'Alliance Chieftain',
|
||||
'typex_2': 'Alliance Crusader',
|
||||
'typex_3': 'Alliance Challenger',
|
||||
'viper': 'Viper MkIII',
|
||||
'viper_mkiv': 'Viper MkIV',
|
||||
'vulture': 'Vulture',
|
||||
}
|
@ -1,20 +1,23 @@
|
||||
# Export ship loadout in E:D Shipyard plain text format
|
||||
|
||||
import pickle
|
||||
from collections import defaultdict
|
||||
import os
|
||||
from os.path import join
|
||||
import pickle
|
||||
import re
|
||||
import time
|
||||
from collections import defaultdict
|
||||
from os.path import join
|
||||
from typing import Dict, List, Union
|
||||
|
||||
from config import config
|
||||
from data import edshipyard_slot_map as slot_map
|
||||
import outfitting
|
||||
import util_ships
|
||||
from config import config
|
||||
from edmc_data import edshipyard_slot_map as slot_map
|
||||
from edmc_data import ship_name_map
|
||||
|
||||
from typing import Dict, Union, List
|
||||
__Module = Dict[str, Union[str, List[str]]]
|
||||
|
||||
# Map API ship names to ED Shipyard names
|
||||
ship_map = ship_name_map.copy()
|
||||
|
||||
# Ship masses
|
||||
# TODO: prefer something other than pickle for this storage (dev readability, security)
|
||||
@ -142,11 +145,11 @@ def export(data, filename=None):
|
||||
string += '---\nCargo : {} T\nFuel : {} T\n'.format(cargo, fuel)
|
||||
|
||||
# Add mass and range
|
||||
assert data['ship']['name'].lower() in util_ships.ship_map, data['ship']['name']
|
||||
assert util_ships.ship_map[data['ship']['name'].lower()] in ships, util_ships.ship_map[data['ship']['name'].lower()]
|
||||
assert data['ship']['name'].lower() in ship_name_map, data['ship']['name']
|
||||
assert ship_name_map[data['ship']['name'].lower()] in ships, ship_name_map[data['ship']['name'].lower()]
|
||||
|
||||
try:
|
||||
mass += ships[util_ships.ship_map[data['ship']['name'].lower()]]['hullMass']
|
||||
mass += ships[ship_name_map[data['ship']['name'].lower()]]['hullMass']
|
||||
string += 'Mass : {:.2f} T empty\n {:.2f} T full\n'.format(mass, mass + fuel + cargo)
|
||||
|
||||
multiplier = pow(min(fuel, fsd['maxfuel']) / fsd['fuelmul'], 1.0 / fsd['fuelpower']) * fsd['optmass']
|
||||
|
@ -1,28 +1,27 @@
|
||||
from collections import OrderedDict
|
||||
import pickle
|
||||
from os.path import join
|
||||
import time
|
||||
from collections import OrderedDict
|
||||
from os.path import join
|
||||
|
||||
import util_ships
|
||||
from config import config
|
||||
from data import outfitting_armour_map as armour_map
|
||||
from data import outfitting_weapon_map as weapon_map
|
||||
from data import outfitting_missiletype_map as missiletype_map
|
||||
from data import outfitting_weaponmount_map as weaponmount_map
|
||||
from data import outfitting_weaponclass_map as weaponclass_map
|
||||
from data import outfitting_weaponrating_map as weaponrating_map
|
||||
from data import outfitting_weaponoldvariant_map as weaponoldvariant_map
|
||||
from data import outfitting_countermeasure_map as countermeasure_map
|
||||
from data import outfitting_utility_map as utility_map
|
||||
from data import outfitting_cabin_map as cabin_map
|
||||
from data import outfitting_rating_map as rating_map
|
||||
from data import outfitting_corrosion_rating_map as corrosion_rating_map
|
||||
from data import outfitting_planet_rating_map as planet_rating_map
|
||||
from data import outfitting_fighter_rating_map as fighter_rating_map
|
||||
from data import outfitting_misc_internal_map as misc_internal_map
|
||||
from data import outfitting_standard_map as standard_map
|
||||
from data import outfitting_internal_map as internal_map
|
||||
|
||||
from edmc_data import outfitting_armour_map as armour_map
|
||||
from edmc_data import outfitting_cabin_map as cabin_map
|
||||
from edmc_data import outfitting_corrosion_rating_map as corrosion_rating_map
|
||||
from edmc_data import outfitting_countermeasure_map as countermeasure_map
|
||||
from edmc_data import outfitting_fighter_rating_map as fighter_rating_map
|
||||
from edmc_data import outfitting_internal_map as internal_map
|
||||
from edmc_data import outfitting_misc_internal_map as misc_internal_map
|
||||
from edmc_data import outfitting_missiletype_map as missiletype_map
|
||||
from edmc_data import outfitting_planet_rating_map as planet_rating_map
|
||||
from edmc_data import outfitting_rating_map as rating_map
|
||||
from edmc_data import outfitting_standard_map as standard_map
|
||||
from edmc_data import outfitting_utility_map as utility_map
|
||||
from edmc_data import outfitting_weapon_map as weapon_map
|
||||
from edmc_data import outfitting_weaponclass_map as weaponclass_map
|
||||
from edmc_data import outfitting_weaponmount_map as weaponmount_map
|
||||
from edmc_data import outfitting_weaponoldvariant_map as weaponoldvariant_map
|
||||
from edmc_data import outfitting_weaponrating_map as weaponrating_map
|
||||
from edmc_data import ship_name_map
|
||||
|
||||
# Module mass, FSD data etc
|
||||
moduledata = OrderedDict()
|
||||
@ -30,7 +29,7 @@ moduledata = OrderedDict()
|
||||
# Given a module description from the Companion API returns a description of the module in the form of a
|
||||
# dict { category, name, [mount], [guidance], [ship], rating, class } using the same terms found in the
|
||||
# English langauge game. For fitted modules, dict also includes { enabled, priority }.
|
||||
# ship_map tells us what ship names to use for Armour - i.e. EDDN schema names or in-game names.
|
||||
# ship_name_map tells us what ship names to use for Armour - i.e. EDDN schema names or in-game names.
|
||||
#
|
||||
# Returns None if the module is user-specific (i.e. decal, paintjob, kit) or PP-specific in station outfitting.
|
||||
# (Given the ad-hocery in this implementation a big lookup table might have been simpler and clearer).
|
||||
@ -209,7 +208,7 @@ def export(data, filename):
|
||||
h.write(header)
|
||||
for v in list(data['lastStarport'].get('modules', {}).values()):
|
||||
try:
|
||||
m = lookup(v, util_ships.ship_map)
|
||||
m = lookup(v, ship_name_map)
|
||||
if m:
|
||||
h.write('%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n' % (rowheader, m['category'], m['name'], m.get('mount',''), m.get('guidance',''), m.get('ship',''), m['class'], m['rating'], m['id'], data['timestamp']))
|
||||
except AssertionError as e:
|
||||
|
@ -3,7 +3,7 @@
|
||||
import time
|
||||
|
||||
from config import config
|
||||
from util_ships import ship_map
|
||||
from edmc_data import ship_name_map
|
||||
|
||||
|
||||
def export(data, filename):
|
||||
@ -19,6 +19,6 @@ def export(data, filename):
|
||||
|
||||
h = open(filename, 'wt')
|
||||
h.write(header)
|
||||
for (name,fdevid) in [(ship_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')]:
|
||||
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')]:
|
||||
h.write('%s,%s,%s,%s\n' % (rowheader, name, fdevid, data['timestamp']))
|
||||
h.close()
|
||||
|
8
stats.py
8
stats.py
@ -8,9 +8,9 @@ from typing import TYPE_CHECKING, Any, AnyStr, Dict, List, NamedTuple, Optional,
|
||||
import companion
|
||||
import EDMCLogging
|
||||
import myNotebook as nb # noqa: N813
|
||||
from edmc_data import ship_name_map
|
||||
from l10n import Locale
|
||||
from monitor import monitor
|
||||
from util_ships import ship_map
|
||||
|
||||
logger = EDMCLogging.get_main_logger()
|
||||
|
||||
@ -216,7 +216,7 @@ def ships(companion_data: Dict[str, Any]) -> List[ShipRet]:
|
||||
# Set current system, not last docked
|
||||
out.append(ShipRet(
|
||||
id=str(ships[0]['id']),
|
||||
type=ship_map.get(ships[0]['name'].lower(), ships[0]['name']),
|
||||
type=ship_name_map.get(ships[0]['name'].lower(), ships[0]['name']),
|
||||
name=str(ships[0].get('shipName', '')),
|
||||
system=companion_data['lastSystem']['name'],
|
||||
station='',
|
||||
@ -225,7 +225,7 @@ def ships(companion_data: Dict[str, Any]) -> List[ShipRet]:
|
||||
out.extend(
|
||||
ShipRet(
|
||||
id=str(ship['id']),
|
||||
type=ship_map.get(ship['name'].lower(), ship['name']),
|
||||
type=ship_name_map.get(ship['name'].lower(), ship['name']),
|
||||
name=ship.get('shipName', ''),
|
||||
system=ship['starsystem']['name'],
|
||||
station=ship['station']['name'],
|
||||
@ -238,7 +238,7 @@ def ships(companion_data: Dict[str, Any]) -> List[ShipRet]:
|
||||
return [
|
||||
ShipRet(
|
||||
id=str(ship['id']),
|
||||
type=ship_map.get(ship['name'].lower(), ship['name']),
|
||||
type=ship_name_map.get(ship['name'].lower(), ship['name']),
|
||||
name=ship.get('shipName', ''),
|
||||
system=ship['starsystem']['name'],
|
||||
station=ship['station']['name'],
|
||||
|
2
td.py
2
td.py
@ -11,7 +11,7 @@ import time
|
||||
|
||||
from config import applongname, appversion, config
|
||||
|
||||
# These are specific to Trade Dangerous, so don't move to data.py
|
||||
# These are specific to Trade Dangerous, so don't move to edmc_data.py
|
||||
demandbracketmap = { 0: '?',
|
||||
1: 'L',
|
||||
2: 'M',
|
||||
|
@ -1,57 +1,9 @@
|
||||
"""Utility functions relating to ships."""
|
||||
|
||||
|
||||
ship_map = {
|
||||
'adder': 'Adder',
|
||||
'anaconda': 'Anaconda',
|
||||
'asp': 'Asp Explorer',
|
||||
'asp_scout': 'Asp Scout',
|
||||
'belugaliner': 'Beluga Liner',
|
||||
'cobramkiii': 'Cobra MkIII',
|
||||
'cobramkiv': 'Cobra MkIV',
|
||||
'clipper': 'Panther Clipper',
|
||||
'cutter': 'Imperial Cutter',
|
||||
'diamondback': 'Diamondback Scout',
|
||||
'diamondbackxl': 'Diamondback Explorer',
|
||||
'dolphin': 'Dolphin',
|
||||
'eagle': 'Eagle',
|
||||
'empire_courier': 'Imperial Courier',
|
||||
'empire_eagle': 'Imperial Eagle',
|
||||
'empire_fighter': 'Imperial Fighter',
|
||||
'empire_trader': 'Imperial Clipper',
|
||||
'federation_corvette': 'Federal Corvette',
|
||||
'federation_dropship': 'Federal Dropship',
|
||||
'federation_dropship_mkii': 'Federal Assault Ship',
|
||||
'federation_gunship': 'Federal Gunship',
|
||||
'federation_fighter': 'F63 Condor',
|
||||
'ferdelance': 'Fer-de-Lance',
|
||||
'hauler': 'Hauler',
|
||||
'independant_trader': 'Keelback',
|
||||
'independent_fighter': 'Taipan Fighter',
|
||||
'krait_mkii': 'Krait MkII',
|
||||
'krait_light': 'Krait Phantom',
|
||||
'mamba': 'Mamba',
|
||||
'orca': 'Orca',
|
||||
'python': 'Python',
|
||||
'scout': 'Taipan Fighter',
|
||||
'sidewinder': 'Sidewinder',
|
||||
'testbuggy': 'Scarab',
|
||||
'type6': 'Type-6 Transporter',
|
||||
'type7': 'Type-7 Transporter',
|
||||
'type9': 'Type-9 Heavy',
|
||||
'type9_military': 'Type-10 Defender',
|
||||
'typex': 'Alliance Chieftain',
|
||||
'typex_2': 'Alliance Crusader',
|
||||
'typex_3': 'Alliance Challenger',
|
||||
'viper': 'Viper MkIII',
|
||||
'viper_mkiv': 'Viper MkIV',
|
||||
'vulture': 'Vulture',
|
||||
}
|
||||
|
||||
from edmc_data import ship_name_map
|
||||
|
||||
def ship_file_name(ship_name: str, ship_type: str) -> str:
|
||||
"""Return a ship name suitable for a filename."""
|
||||
name = str(ship_name or ship_map.get(ship_type.lower(), ship_type)).strip()
|
||||
name = str(ship_name or ship_name_map.get(ship_type.lower(), ship_type)).strip()
|
||||
if name.endswith('.'):
|
||||
name = name[:-2]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user