Files
af/tools/upload_frogress.py
emilybrooks 167abace84 update progress tracking (#194)
* ignore hasm files

* add assets to progress.py

* add assets to frogress script
2024-06-11 19:48:56 -07:00

41 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python3
# SPDX-FileCopyrightText: © 2023 ZeldaRET
# SPDX-License-Identifier: MIT
from __future__ import annotations
import argparse
import mapfile_parser
from pathlib import Path
import progress
BASE_URL = "https://progress.deco.mp"
PROJECT = "animalforest"
def uploadProgressMain():
parser = argparse.ArgumentParser()
parser.add_argument("version", help="Version slug")
parser.add_argument("--apikey", help="API key")
args = parser.parse_args()
version: str = args.version
apikey: str = args.apikey
mapPath = Path("build") / f"animalforest-{args.version}.map"
codeTotalStats, codeProgressPerFolder = progress.getProgress(mapPath, version)
codeEntries: dict[str, int] = mapfile_parser.frontends.upload_frogress.getFrogressEntriesFromStats(codeTotalStats, codeProgressPerFolder, verbose=True)
assetTotalStats, assetProgressPerFolder = progress.getAssetProgress(mapPath, version)
assetEntries: dict[str, int] = mapfile_parser.frontends.upload_frogress.getFrogressEntriesFromStats(assetTotalStats, assetProgressPerFolder, verbose=True)
url = mapfile_parser.utils.generateFrogressEndpointUrl(BASE_URL, PROJECT, version)
mapfile_parser.frontends.upload_frogress.uploadEntriesToFrogress(codeEntries, "code", url, apikey=apikey, verbose=True)
mapfile_parser.frontends.upload_frogress.uploadEntriesToFrogress(assetEntries, "assets", url, apikey=apikey, verbose=True)
if __name__ == '__main__':
uploadProgressMain()