1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-06-07 02:43:22 +03:00

autoformat with autopep8

This commit is contained in:
A_D 2020-07-28 12:51:00 +02:00
parent 3dab0e9d91
commit eec4c2ebd6
No known key found for this signature in database
GPG Key ID: 4BE9EB7DF45076C4

View File

@ -67,6 +67,7 @@ this.station = None
this.station_marketid = None
STATION_UNDOCKED: str = '×' # "Station" name to display when not docked = U+00D7
def system_url(system_name):
if this.system_address:
return requests.utils.requote_uri(f'https://inara.cz/galaxy-starsystem/?search={this.system_address}')
@ -76,6 +77,7 @@ def system_url(system_name):
return this.system
def station_url(system_name, station_name):
if system_name:
if station_name:
@ -86,7 +88,7 @@ def station_url(system_name, station_name):
def plugin_start3(plugin_dir):
this.thread = Thread(target = worker, name = 'Inara worker')
this.thread = Thread(target=worker, name='Inara worker')
this.thread.daemon = True
this.thread.start()
@ -95,12 +97,14 @@ def plugin_start3(plugin_dir):
this.timer_thread.start()
return 'Inara'
def plugin_app(parent):
this.system_link = parent.children['system'] # system label in main window
this.station_link = parent.children['station'] # station label in main window
this.system_link.bind_all('<<InaraLocation>>', update_location)
this.system_link.bind_all('<<InaraShip>>', update_ship)
def plugin_stop():
# Send any unsent events
call()
@ -112,8 +116,8 @@ def plugin_stop():
this.timer_run = False
def plugin_prefs(parent, cmdr, is_beta):
def plugin_prefs(parent, cmdr, is_beta):
PADX = 10
BUTTONX = 12 # indent Checkbuttons and Radiobuttons
PADY = 2 # close spacing
@ -139,6 +143,7 @@ def plugin_prefs(parent, cmdr, is_beta):
return frame
def prefs_cmdr_changed(cmdr, is_beta):
this.log_button['state'] = cmdr and not is_beta and tk.NORMAL or tk.DISABLED
this.apikey['state'] = tk.NORMAL
@ -149,9 +154,11 @@ def prefs_cmdr_changed(cmdr, is_beta):
this.apikey.insert(0, cred)
this.label['state'] = this.apikey_label['state'] = this.apikey['state'] = cmdr and not is_beta and this.log.get() and tk.NORMAL or tk.DISABLED
def prefsvarchanged():
this.label['state'] = this.apikey_label['state'] = this.apikey['state'] = this.log.get() and this.log_button['state'] or tk.DISABLED
def prefs_changed(cmdr, is_beta):
changed = config.getint('inara_out') != this.log.get()
config.set('inara_out', this.log.get())
@ -180,9 +187,10 @@ def prefs_changed(cmdr, is_beta):
if this.log.get() and changed:
this.newuser = True # Send basic info at next Journal event
add_event('getCommanderProfile', time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), { 'searchName': cmdr })
add_event('getCommanderProfile', time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), {'searchName': cmdr})
call()
def credentials(cmdr):
# Credentials for cmdr
if not cmdr:
@ -271,14 +279,14 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
('rankName', k.lower()),
('rankValue', v[0]),
('rankProgress', v[1] / 100.0),
]) for k,v in state['Rank'].items() if v is not None
]) for k, v in state['Rank'].items() if v is not None
])
add_event('setCommanderReputationMajorFaction', entry['timestamp'],
[
OrderedDict([
('majorfactionName', k.lower()),
('majorfactionReputation', v / 100.0),
]) for k,v in state['Reputation'].items() if v is not None
]) for k, v in state['Reputation'].items() if v is not None
])
if state['Engineers']: # Not populated < 3.3
add_event('setCommanderRankEngineer', entry['timestamp'],
@ -286,7 +294,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
OrderedDict([
('engineerName', k),
type(v) is tuple and ('rankValue', v[0]) or ('rankStage', v),
]) for k,v in state['Engineers'].items()
]) for k, v in state['Engineers'].items()
])
# Update location
@ -317,10 +325,9 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
call() # Call here just to be sure that if we can send, we do, otherwise it'll get it in the next tick
# Promotions
elif entry['event'] == 'Promotion':
for k,v in state['Rank'].items():
for k, v in state['Rank'].items():
if k in entry:
add_event('setCommanderRankPilot', entry['timestamp'],
OrderedDict([
@ -442,7 +449,6 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
# Ignore the following 'Docked' event
this.suppress_docked = True
cargo = [OrderedDict([('itemName', k), ('itemCount', state['Cargo'][k])]) for k in sorted(state['Cargo'])]
# Send cargo and materials if changed
@ -451,7 +457,8 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
this.cargo = cargo
materials = []
for category in ['Raw', 'Manufactured', 'Encoded']:
materials.extend([ OrderedDict([('itemName', k), ('itemCount', state[category][k])]) for k in sorted(state[category]) ])
materials.extend([OrderedDict([('itemName', k), ('itemCount', state[category][k])])
for k in sorted(state[category])])
if this.materials != materials:
add_event('setCommanderInventoryMaterials', entry['timestamp'], materials)
this.materials = materials
@ -538,7 +545,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
'starsystemName': x.get('StarSystem'), # Not present for ships in transit
'marketID': x.get('ShipMarketID'), # "
} for x in entry['ShipsRemote']],
key = itemgetter('shipGameID')
key=itemgetter('shipGameID')
)
if this.fleet != fleet:
this.fleet = fleet
@ -584,7 +591,8 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
if this.storedmodules != modules:
# Only send on change
this.storedmodules = modules
this.events = [x for x in this.events if x['eventName'] != 'setCommanderStorageModules'] # Remove any unsent
this.events = [x for x in this.events if x['eventName']
!= 'setCommanderStorageModules'] # Remove any unsent
add_event('setCommanderStorageModules', entry['timestamp'], this.storedmodules)
# Missions
@ -619,26 +627,28 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
add_event('addCommanderMission', entry['timestamp'], data)
elif entry['event'] == 'MissionAbandoned':
add_event('setCommanderMissionAbandoned', entry['timestamp'], { 'missionGameID': entry['MissionID'] })
add_event('setCommanderMissionAbandoned', entry['timestamp'], {'missionGameID': entry['MissionID']})
elif entry['event'] == 'MissionCompleted':
for x in entry.get('PermitsAwarded', []):
add_event('addCommanderPermit', entry['timestamp'], { 'starsystemName': x })
add_event('addCommanderPermit', entry['timestamp'], {'starsystemName': x})
data = OrderedDict([ ('missionGameID', entry['MissionID']) ])
data = OrderedDict([('missionGameID', entry['MissionID'])])
if 'Donation' in entry:
data['donationCredits'] = entry['Donation']
if 'Reward' in entry:
data['rewardCredits'] = entry['Reward']
if 'PermitsAwarded' in entry:
data['rewardPermits'] = [{ 'starsystemName': x } for x in entry['PermitsAwarded']]
data['rewardPermits'] = [{'starsystemName': x} for x in entry['PermitsAwarded']]
if 'CommodityReward' in entry:
data['rewardCommodities'] = [{ 'itemName': x['Name'], 'itemCount': x['Count'] } for x in entry['CommodityReward']]
data['rewardCommodities'] = [{'itemName': x['Name'], 'itemCount': x['Count']}
for x in entry['CommodityReward']]
if 'MaterialsReward' in entry:
data['rewardMaterials'] = [{ 'itemName': x['Name'], 'itemCount': x['Count'] } for x in entry['MaterialsReward']]
data['rewardMaterials'] = [{'itemName': x['Name'], 'itemCount': x['Count']}
for x in entry['MaterialsReward']]
factioneffects = []
for faction in entry.get('FactionEffects', []):
effect = OrderedDict([ ('minorfactionName', faction['Faction']) ])
effect = OrderedDict([('minorfactionName', faction['Faction'])])
for influence in faction.get('Influence', []):
if 'Influence' in influence:
effect['influenceGain'] = len(effect.get('influenceGain', '')) > len(influence['Influence']) and effect['influenceGain'] or influence['Influence'] # pick highest
@ -650,11 +660,11 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
add_event('setCommanderMissionCompleted', entry['timestamp'], data)
elif entry['event'] == 'MissionFailed':
add_event('setCommanderMissionFailed', entry['timestamp'], { 'missionGameID': entry['MissionID'] })
add_event('setCommanderMissionFailed', entry['timestamp'], {'missionGameID': entry['MissionID']})
# Combat
if entry['event'] == 'Died':
data = OrderedDict([ ('starsystemName', system) ])
data = OrderedDict([('starsystemName', system)])
if 'Killers' in entry:
data['wingOpponentNames'] = [x['Name'] for x in entry['Killers']]
elif 'KillerName' in entry:
@ -702,7 +712,8 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
# Community Goals
if entry['event'] == 'CommunityGoal':
this.events = [x for x in this.events if x['eventName'] not in ['setCommunityGoal', 'setCommanderCommunityGoalProgress']] # Remove any unsent
this.events = [x for x in this.events if x['eventName'] not in [
'setCommunityGoal', 'setCommanderCommunityGoalProgress']] # Remove any unsent
for goal in entry['CurrentGoals']:
data = OrderedDict([
@ -761,6 +772,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
this.station_link['url'] = station_url(this.system, this.station)
this.station_link.update_idletasks()
def cmdr_data(data, is_beta):
this.cmdr = data['commander']['name']
@ -846,6 +858,7 @@ def make_loadout(state):
('shipLoadout', modules),
])
def add_event(name, timestamp, data):
this.events.append(OrderedDict([
('eventName', name),
@ -853,6 +866,7 @@ def add_event(name, timestamp, data):
('eventData', data),
]))
def call_timer(wait=FLOOD_LIMIT_SECONDS):
while this.timer_run:
time.sleep(wait)
@ -860,6 +874,8 @@ def call_timer(wait=FLOOD_LIMIT_SECONDS):
call()
# Queue a call to Inara, handled in Worker thread
def call(callback=None, force=False):
if not this.events:
return
@ -883,6 +899,8 @@ def call(callback=None, force=False):
this.queue.put(('https://inara.cz/inapi/v1/', data, None))
# Worker thread
def worker():
while True:
item = this.queue.get()
@ -894,7 +912,7 @@ def worker():
retrying = 0
while retrying < 3:
try:
r = this.session.post(url, data=json.dumps(data, separators = (',', ':')), timeout=_TIMEOUT)
r = this.session.post(url, data=json.dumps(data, separators=(',', ':')), timeout=_TIMEOUT)
r.raise_for_status()
reply = r.json()
status = reply['header']['eventStatus']
@ -944,10 +962,13 @@ def update_location(event=None):
for plugin in plug.provides('inara_notify_location'):
plug.invoke(plugin, None, 'inara_notify_location', this.lastlocation)
def inara_notify_location(eventData):
pass
# Call inara_notify_ship() in interested plugins with Inara's response when changing ship
def update_ship(event=None):
if this.lastship:
for plugin in plug.provides('inara_notify_ship'):