mirror of
https://github.com/Jylpah/blitz-tools.git
synced 2026-10-24 19:49:52 +02:00
fixed sorting and tank/battle tier
This commit is contained in:
1 parent
c9b38a08c7
commit
389bc8e019
1 file changed
+27
-10
+27
-10
@@ -59,13 +59,13 @@ result_ratios = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
result_categories = {
|
result_categories = {
|
||||||
'total' : [ 'TOTAL', 'Total' ],
|
'total' : [ 'TOTAL', 'total' ],
|
||||||
'battle_result' : [ 'Result', [ 'Loss', 'Win', 'Draw']],
|
'battle_result' : [ 'Result', [ 'Loss', 'Win', 'Draw']],
|
||||||
'battle_type' : [ 'Battle Type',['Encounter', 'Supremacy']],
|
'battle_type' : [ 'Battle Type',['Encounter', 'Supremacy']],
|
||||||
'battle_tier' : [ 'Battle Tier', 'value' ],
|
'tank_tier' : [ 'Tank Tier', 'number' ],
|
||||||
'top_tier' : [ 'Tier', ['Bottom tier', 'Top tier']],
|
'top_tier' : [ 'Tier', ['Bottom tier', 'Top tier']],
|
||||||
'tank_name' : [ 'Tank', 'value' ],
|
'tank_name' : [ 'Tank', 'string' ],
|
||||||
'map_name' : [ 'Map', 'value' ]
|
'map_name' : [ 'Map', 'string' ]
|
||||||
}
|
}
|
||||||
|
|
||||||
result_cat_header_frmt = '{:_<17s}'
|
result_cat_header_frmt = '{:_<17s}'
|
||||||
@@ -185,16 +185,26 @@ class BattleRecordCategory():
|
|||||||
def __init__(self, cat_name : str):
|
def __init__(self, cat_name : str):
|
||||||
self.category_name = cat_name
|
self.category_name = cat_name
|
||||||
self.category = collections.defaultdict(defaultvalueBtlRec)
|
self.category = collections.defaultdict(defaultvalueBtlRec)
|
||||||
|
if result_categories[self.category_name][1] == 'string':
|
||||||
|
self.type = 'string'
|
||||||
|
elif result_categories[self.category_name][1] == 'number':
|
||||||
|
self.type = 'number'
|
||||||
|
elif result_categories[self.category_name][1] == 'total':
|
||||||
|
self.type = 'total'
|
||||||
|
else:
|
||||||
|
self.type = 'category'
|
||||||
|
|
||||||
def getSubCategories(self):
|
def getSubCategories(self):
|
||||||
return self.category.keys()
|
return self.category.keys()
|
||||||
|
|
||||||
def recordResult(self, result: dict):
|
def recordResult(self, result: dict):
|
||||||
try:
|
try:
|
||||||
if self.category_name == 'total':
|
if self.type == 'total':
|
||||||
cat = 'Total'
|
cat = 'Total'
|
||||||
elif result_categories[self.category_name][1] == 'value':
|
elif self.type == 'number':
|
||||||
cat = str(result[self.category_name])
|
cat = str(result[self.category_name])
|
||||||
|
elif self.type == 'string':
|
||||||
|
cat = result[self.category_name]
|
||||||
else:
|
else:
|
||||||
cat = result_categories[self.category_name][1][result[self.category_name]]
|
cat = result_categories[self.category_name][1][result[self.category_name]]
|
||||||
self.category[cat].recordResult(result)
|
self.category[cat].recordResult(result)
|
||||||
@@ -233,10 +243,17 @@ class BattleRecordCategory():
|
|||||||
try:
|
try:
|
||||||
results = []
|
results = []
|
||||||
# results.append(self.getHeaders())
|
# results.append(self.getHeaders())
|
||||||
for cat in sorted(self.category.keys()):
|
if self.type == 'number':
|
||||||
row = [ result_cat_frmt.format(cat) ]
|
for cat in sorted( [ int(s) for s in self.category.keys() ] ):
|
||||||
row.extend(self.category[cat].getResults())
|
cat = str(cat)
|
||||||
results.append(row)
|
row = [ result_cat_frmt.format(cat) ]
|
||||||
|
row.extend(self.category[cat].getResults())
|
||||||
|
results.append(row)
|
||||||
|
else:
|
||||||
|
for cat in sorted(self.category.keys() , key=str.casefold):
|
||||||
|
row = [ result_cat_frmt.format(cat) ]
|
||||||
|
row.extend(self.category[cat].getResults())
|
||||||
|
results.append(row)
|
||||||
return results
|
return results
|
||||||
except KeyError as err:
|
except KeyError as err:
|
||||||
bu.error('Key ' + str(err) + ' not found')
|
bu.error('Key ' + str(err) + ' not found')
|
||||||
|
|||||||
Reference in new issue
Block a user