csgo-fade-calculator-py/generate.py

45 lines
1.4 KiB
Python

__author__ = "Lukas Mahler"
__version__ = "1.0.0"
__date__ = "18.07.2023"
__email__ = "m@hler.eu"
__status__ = "Production"
import json
from src.FadeCalculator import FadeCalculator
from src.AmberFadeCalculator import AmberFadeCalculator
from src.AcidFadeCalculator import AcidFadeCalculator
def main():
"""
Generate static .json files, this is different from the original typescript repository.
I like this .json format more for accessing the seeds later.
e.g. ['AWP]['42']['percentage'] where 42 is the seed.
"""
# Create instances of the calculators
fade_calc = FadeCalculator()
amber_calc = AmberFadeCalculator()
acid_calc = AcidFadeCalculator()
# Build a new dict using format [WEAPON][SEED] = seed, percentage, ranking
for calc, name in [(fade_calc, 'fade'), (amber_calc, 'fade_amber'), (acid_calc, 'fade_acid')]:
rebuild = {}
for obj in calc.get_all_fade_percentages():
rebuild[obj.weapon] = {}
for subobj in obj.percentages:
rebuild[obj.weapon][subobj.seed] = {
'seed': subobj.seed,
'percentage': subobj.percentage,
'ranking': subobj.ranking
}
# dump the new dicts to a json file using 4 indents under ./generated
with open(f"./generated/{name}.json", 'w') as jf:
json.dump(rebuild, jf, indent=4)
if __name__ == '__main__':
main()