mirror of
https://github.com/Jylpah/blitz-tools.git
synced 2026-10-21 02:07:06 +02:00
Fix --filters bug with number categorization
This commit is contained in:
1 parent
14ee570ee5
commit
7e39fdc442
1 file changed
+16
-6
+16
-6
@@ -511,10 +511,13 @@ class BattleCategorization():
|
|||||||
|
|
||||||
|
|
||||||
def get_filter_categories(self, filters: list) -> list:
|
def get_filter_categories(self, filters: list) -> list:
|
||||||
if type(filters) != list:
|
try:
|
||||||
filters = [ filters ]
|
if type(filters) != list:
|
||||||
return [ x for x in filters if x in self.get_categories() ]
|
filters = [ filters ]
|
||||||
|
return [ x for x in filters if x in self.get_categories() ]
|
||||||
|
except Exception as err:
|
||||||
|
bu.error('Category: ' + str(self.category_key), exception=err)
|
||||||
|
return None
|
||||||
|
|
||||||
def help(self):
|
def help(self):
|
||||||
"""Help"""
|
"""Help"""
|
||||||
@@ -733,7 +736,10 @@ class BattleStringCategorization(BattleCategorization):
|
|||||||
|
|
||||||
def get_filter_categories(self, filters: list) -> list:
|
def get_filter_categories(self, filters: list) -> list:
|
||||||
try:
|
try:
|
||||||
return filters
|
if type(filters) != list:
|
||||||
|
filters = [ filters ]
|
||||||
|
return [ x for x in filters if x in self.get_categories() ]
|
||||||
|
# return filters
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
bu.error('Category: ' + str(self.category_key), exception=err)
|
bu.error('Category: ' + str(self.category_key), exception=err)
|
||||||
return None
|
return None
|
||||||
@@ -769,11 +775,14 @@ class BattleNumberCategorization(BattleCategorization):
|
|||||||
|
|
||||||
def get_filter_categories(self, filters: list) -> list:
|
def get_filter_categories(self, filters: list) -> list:
|
||||||
try:
|
try:
|
||||||
|
if type(filters) != list:
|
||||||
|
filters = [ filters ]
|
||||||
return list(map(str,filters))
|
return list(map(str,filters))
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
bu.error('Category: ' + str(self.category_key), exception=err)
|
bu.error('Category: ' + str(self.category_key), exception=err)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def help(self):
|
def help(self):
|
||||||
super().help()
|
super().help()
|
||||||
print('INTEGER')
|
print('INTEGER')
|
||||||
@@ -1477,7 +1486,7 @@ async def main(argv):
|
|||||||
parser.add_argument('--replays', action='store_true', default=False, help='Export replay info in JSON format')
|
parser.add_argument('--replays', action='store_true', default=False, help='Export replay info in JSON format')
|
||||||
parser.add_argument('-o','--outfile', type=str, default='-', metavar="OUTPUT", help='File to write results. Default STDOUT')
|
parser.add_argument('-o','--outfile', type=str, default='-', metavar="OUTPUT", help='File to write results. Default STDOUT')
|
||||||
parser.add_argument('--db', action='store_true', default=OPT_DB, help='Use DB - You are unlikely to have it')
|
parser.add_argument('--db', action='store_true', default=OPT_DB, help='Use DB - You are unlikely to have it')
|
||||||
parser.add_argument('--filters', type=str, default=None, help='Filter replays based on categories. Filters given in JSON format.\nUse array "[]" for multiple filters/values. see --mode help.\nExample: : [ {"tier" : [8,9,10] }, { "player_wins" : 5 }]')
|
parser.add_argument('--filters', type=str, default=None, help='Filter replays based on categories. Filters given in JSON format.\nUse array "[]" for multiple filters/values. see --mode help.\nExample: : [ {"tank_tier" : [8,9,10] }, { "player_wins" : 5 }]')
|
||||||
parser.add_argument('--filters_db', type=str, default=None, help='[only for DB setup] Filter replays in DB based on categories. Filters given in MongoDB JSON format. See --mode help')
|
parser.add_argument('--filters_db', type=str, default=None, help='[only for DB setup] Filter replays in DB based on categories. Filters given in MongoDB JSON format. See --mode help')
|
||||||
parser.add_argument('--min', type=int, default=None, help='Only select replays from players with minimum number of replays in the dataset')
|
parser.add_argument('--min', type=int, default=None, help='Only select replays from players with minimum number of replays in the dataset')
|
||||||
parser.add_argument('-d', '--debug', action='store_true', default=False, help='Debug mode')
|
parser.add_argument('-d', '--debug', action='store_true', default=False, help='Debug mode')
|
||||||
@@ -1841,6 +1850,7 @@ def filter_results(results: list, filter_json : str) -> bool:
|
|||||||
for category in filter_cats:
|
for category in filter_cats:
|
||||||
cat = category.category_key
|
cat = category.category_key
|
||||||
categorization = filter_cats.get_categorization(cat)
|
categorization = filter_cats.get_categorization(cat)
|
||||||
|
bu.debug('Category: ' + cat + ' filters type: ' + str(type(filters)) + ' filters: ' + str(filters))
|
||||||
filters[cat] = categorization.get_filter_categories(filters[cat])
|
filters[cat] = categorization.get_filter_categories(filters[cat])
|
||||||
bu.verbose(' ' + cat + ' = ' + ','.join(filters[cat]))
|
bu.verbose(' ' + cat + ' = ' + ','.join(filters[cat]))
|
||||||
bu.verbose('')
|
bu.verbose('')
|
||||||
|
|||||||
Reference in new issue
Block a user