mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-17 01:22:19 +03:00
Track Engineer progress
This commit is contained in:
parent
2f7ffc6c31
commit
fc44003161
@ -119,6 +119,7 @@ class EDLogs(FileSystemEventHandler):
|
||||
'Raw' : defaultdict(int),
|
||||
'Manufactured' : defaultdict(int),
|
||||
'Encoded' : defaultdict(int),
|
||||
'Engineers' : {},
|
||||
'Rank' : {},
|
||||
'Reputation' : {},
|
||||
'Statistics' : {},
|
||||
@ -338,6 +339,7 @@ class EDLogs(FileSystemEventHandler):
|
||||
'Raw' : defaultdict(int),
|
||||
'Manufactured' : defaultdict(int),
|
||||
'Encoded' : defaultdict(int),
|
||||
'Engineers' : {},
|
||||
'Rank' : {},
|
||||
'Reputation' : {},
|
||||
'Statistics' : {},
|
||||
@ -370,6 +372,7 @@ class EDLogs(FileSystemEventHandler):
|
||||
'Captain' : None,
|
||||
'Credits' : entry['Credits'],
|
||||
'Loan' : entry['Loan'],
|
||||
'Engineers' : {},
|
||||
'Rank' : {},
|
||||
'Reputation' : {},
|
||||
'Statistics' : {},
|
||||
@ -480,6 +483,12 @@ class EDLogs(FileSystemEventHandler):
|
||||
payload.pop('timestamp')
|
||||
self.state[entry['event']] = payload
|
||||
|
||||
elif entry['event'] == 'EngineerProgress':
|
||||
if 'Engineers' in entry: # Startup summary
|
||||
self.state['Engineers'] = { e['Engineer']: (e['Rank'], e.get('RankProgress', 0)) if 'Rank' in e else e['Progress'] for e in entry['Engineers'] }
|
||||
else: # Promotion
|
||||
self.state['Engineers'][entry['Engineer']] = (entry['Rank'], entry.get('RankProgress', 0)) if 'Rank' in entry else entry['Progress']
|
||||
|
||||
elif entry['event'] == 'Cargo':
|
||||
self.state['Cargo'] = defaultdict(int)
|
||||
self.state['Cargo'].update({ self.canonicalise(x['Name']): x['Count'] for x in entry['Inventory'] })
|
||||
|
@ -229,6 +229,19 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
|
||||
('majorfactionName', k.lower()),
|
||||
('majorfactionReputation', v / 100.0),
|
||||
]))
|
||||
for k,v in state['Engineers'].iteritems():
|
||||
if type(v) is tuple:
|
||||
add_event('setCommanderRankEngineer', entry['timestamp'],
|
||||
OrderedDict([
|
||||
('engineerName', k),
|
||||
('rankValue', v[0]),
|
||||
]))
|
||||
else:
|
||||
add_event('setCommanderRankEngineer', entry['timestamp'],
|
||||
OrderedDict([
|
||||
('engineerName', k),
|
||||
('rankStage', v),
|
||||
]))
|
||||
|
||||
# Update location
|
||||
add_event('setCommanderTravelLocation', entry['timestamp'],
|
||||
@ -267,7 +280,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state):
|
||||
('rankValue', v[0]),
|
||||
('rankProgress', 0),
|
||||
]))
|
||||
elif entry['event'] == 'EngineerProgress':
|
||||
elif entry['event'] == 'EngineerProgress' and 'Engineer' in entry:
|
||||
if 'Rank' in entry:
|
||||
add_event('setCommanderRankEngineer', entry['timestamp'],
|
||||
OrderedDict([
|
||||
|
Loading…
x
Reference in New Issue
Block a user