mirror of
https://github.com/bartvdbraak/SlayerWeightCalculator.git
synced 2025-06-28 15:29:15 +00:00
python script and unnessecary csv/json files relocated to /api/, master json updated and used, removal of slayer master filter js
This commit is contained in:
parent
afbd7bbb97
commit
2977646d06
40 changed files with 7820 additions and 2828 deletions
78
api/query_csv.py
Normal file
78
api/query_csv.py
Normal file
|
@ -0,0 +1,78 @@
|
|||
import csv
|
||||
import json
|
||||
from collections import OrderedDict
|
||||
|
||||
MASTERS_JSON = 'masters.json'
|
||||
MASTERS_KEY = 'masters'
|
||||
MONSTERS_CSV = 'monsters.csv'
|
||||
RESULT_SUFFIX = '_results'
|
||||
NEW_COLUMN = 'id'
|
||||
JOIN_INDEX = 0
|
||||
|
||||
|
||||
def loop_over_masters():
|
||||
masters_file = open(MASTERS_JSON)
|
||||
data = json.load(masters_file)[MASTERS_KEY]
|
||||
masters_file.close()
|
||||
for (key, value) in data.items():
|
||||
current_master = str(value['name'].lower())
|
||||
write_results(current_master)
|
||||
generate_json(current_master)
|
||||
replace_masters()
|
||||
|
||||
|
||||
def write_results(current_master):
|
||||
with open(MONSTERS_CSV, 'r') as monsters:
|
||||
master_indices = dict((r[1], i) for i, r in enumerate(csv.reader(monsters)))
|
||||
|
||||
with open(current_master + '.csv', 'r') as master:
|
||||
with open(current_master + RESULT_SUFFIX + '.csv', 'w') as results:
|
||||
reader = csv.reader(master)
|
||||
writer = csv.writer(results)
|
||||
|
||||
# New column with old header
|
||||
writer.writerow([NEW_COLUMN] + next(reader, []))
|
||||
|
||||
for row in reader:
|
||||
# row is found in slayer master AND monsters
|
||||
index = master_indices.get(row[JOIN_INDEX])
|
||||
|
||||
if index is not None:
|
||||
# Row with value for id and slayer_weight:
|
||||
# 0,12\n
|
||||
writer.writerow([index - 1] + row)
|
||||
|
||||
|
||||
def generate_json(file_name):
|
||||
data = []
|
||||
|
||||
with open(file_name + RESULT_SUFFIX + '.csv', 'r') as csv_file:
|
||||
csv_reader = csv.DictReader(csv_file)
|
||||
|
||||
for rows in csv_reader:
|
||||
id = rows['id']
|
||||
data.append(rows)
|
||||
|
||||
with open(file_name + RESULT_SUFFIX + '.json', 'w') as json_file:
|
||||
json_file.write(json.dumps(data, indent=4))
|
||||
|
||||
return json_file
|
||||
|
||||
|
||||
def replace_masters():
|
||||
masters_file = open(MASTERS_JSON)
|
||||
master_data = json.load(masters_file)[MASTERS_KEY]
|
||||
masters_file.close()
|
||||
for item in master_data.items():
|
||||
cur_master_file = open(item[1]['name'].lower()+'_results.json')
|
||||
cur_data = json.load(cur_master_file)
|
||||
cur_master_file.close()
|
||||
item[1]['assignments'] = cur_data
|
||||
|
||||
with open(MASTERS_JSON + '_new' + '.json', 'w') as json_file:
|
||||
json_file.write(json.dumps(master_data, indent=4))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
loop_over_masters()
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue