|
@@ -0,0 +1,33 @@
|
|
|
|
|
+from __future__ import annotations
|
|
|
|
|
+import sys
|
|
|
|
|
+
|
|
|
|
|
+import json
|
|
|
|
|
+
|
|
|
|
|
+def main() -> None:
|
|
|
|
|
+ month = sys.argv[1]
|
|
|
|
|
+
|
|
|
|
|
+ with open(f'www/data/company-data-{month}.json', 'r') as f:
|
|
|
|
|
+ companies = json.load(f)['individual']
|
|
|
|
|
+
|
|
|
|
|
+ variety: dict[str, int] = {}
|
|
|
|
|
+ for co_id, stats in companies.items():
|
|
|
|
|
+ if len(stats) > 1:
|
|
|
|
|
+ variety[co_id] = len(stats)
|
|
|
|
|
+
|
|
|
|
|
+ with open('www/data/knownCompanies.json', 'r') as f:
|
|
|
|
|
+ known_companies = json.load(f)
|
|
|
|
|
+ with open(f'www/data/base-data-{month}.json', 'r') as f:
|
|
|
|
|
+ base_data = json.load(f)
|
|
|
|
|
+
|
|
|
|
|
+ for rank, (co_id, count) in enumerate(sorted(variety.items(), key=lambda item: item[1], reverse=True), start=1):
|
|
|
|
|
+ try:
|
|
|
|
|
+ username = known_companies[co_id]['Username']
|
|
|
|
|
+ except KeyError:
|
|
|
|
|
+ username = 'unknown user ' + co_id
|
|
|
|
|
+ bases = base_data[co_id]
|
|
|
|
|
+ base_count = bases['bases']
|
|
|
|
|
+ base_rank = bases.get('rank')
|
|
|
|
|
+ print(f'{rank:4}: {username:20} {count:3} {base_count:2} bases (#{base_rank})')
|
|
|
|
|
+
|
|
|
|
|
+if __name__ == '__main__':
|
|
|
|
|
+ main()
|