Example #1
0
import zlib
import ujson
import time
import psutil
from typing import List
from objects import Job
import core

tic = time.perf_counter()
jobs: List[bytes] = core.loadJobsFromFile(core.init("All", "data/"))
print("Time taken: {}".format(time.perf_counter() - tic))
print(psutil.virtual_memory().percent)
Example #2
0
import core
from core import locale
from objects import Job
import numpy as np
from scipy.stats import ttest_ind
from typing import List, cast, Tuple
import matplotlib.pyplot as plt
import ujson
import zlib
import filters

dataFile: str = core.init("All", "data")
data: List[bytes] = core.loadJobsFromFile(dataFile)
stageList: List[str] = []
for line in data:
    job: Job = Job(**ujson.loads(zlib.decompress(line)))
    if job.stage is not None:
        if not (getattr(job.stage.name, locale) in stageList):
            stageList.append(getattr(job.stage.name, locale))
listOfData: List[Tuple[List[bytes], List[bytes]]] = []
for stage in stageList:
    listOfData.append(
        cast(Tuple[List[bytes], List[bytes]], filters.onStages("mem", data, [stage]))
    )
with open("reports/stages.txt", "w", encoding="utf-8") as writer:
    i: int = 1
    for stageFiles in listOfData:
        plt.figure(i)
        withVal: List[bytes] = stageFiles[0]
        withoutVal: List[bytes] = stageFiles[1]
        withValClearWaves: List[float] = []
Example #3
0
            printJobs(dataList)
        elif mode == "HypothesisTesting":
            hypothesisTesting(dataList)
        elif mode == "SortAttributeByStat":
            sortAttributeByStat(dataList)
        elif mode == "WaveClearPercentageWithWeapon":
            waveClearPercentageWithWeapon(dataList)
        else:
            sys.exit()
        print()
        print("PrintOverview")
        print("PrintJobs")
        print("HypothesisTesting")
        print("SortAttributeByStat")
        print("WaveClearPercentageWithWeapon")
        print("Quit")
        mode = input("What would you like to do: ")


if __name__ == "__main__":
    print("All")
    print("User")
    scope: str = input("Pick an analysis scope: ")
    dataFile: str = core.init(
        scope,
        ujson.load(open("keys.json", "r"))["statink_key"])
    data: List[List[bytes]] = [core.loadJobsFromFile(dataFile)]
    while input("Add a filter [Y/N]: ") == "Y":
        data = filterBy(data)
    processData(data)
Example #4
0
        ] = {}
        filterPaths: Tuple[List[bytes], List[bytes]] = cast(
            Tuple[List[bytes], List[bytes]],
            filters.duringRotationInts("mem", data, [rotation]),
        )
        withVal: List[bytes] = filterPaths[0]
        withoutVal: List[bytes] = filterPaths[1]
        if hasJobs("mem", withVal):
            if (hasJobs("mem", withVal)) and (hasJobs("mem", withoutVal)):
                result["name"] = rotation
                result["data"] = core.findWeaponsAndStageByRotation(
                    "mem", withVal, rotation
                )
                result["value"] = (
                    statSummary("mem", withVal, stat)[0]
                    - statSummary("mem", withoutVal, stat)[0]
                )
                rotationResultsList.append(result)
    pprint.pprint(
        sorted(rotationResultsList, key=lambda val: cast(float, val["value"]))
    )


if __name__ == "__main__":
    # fullPath: str = core.init("User", "disk", ujson.load(open("keys.json", "r"))["statink_key"])
    fullPath: str = cast(str, core.init("All", "disk"))
    # sortStages(core.loadJobsFromFile(fullPath), "clear_waves")
    sortWeapons(core.loadJobsFromFile(fullPath), "clear_waves")
    # sortSpecial(core.loadJobsFromFile(fullPath), "clear_waves")
    # sortRotation(core.loadJobsFromFile(fullPath), "clear_waves")
Example #5
0
import core
from objects import Job
import filters
from core import locale
import ujson
import gzip
import requests
from typing import Dict, List, Union, cast
import pprint
from itertools import combinations
from scipy.stats import ttest_ind
import numpy as np
import zlib

dataFile = cast(str, core.init("All", "data/"))
data = core.loadJobsFromFile(dataFile)
weaponsList: List[Dict[str, Union[str, Dict[str, str]]]] = requests.get(
    "https://stat.ink/api/v2/weapon").json()
for grizzWeapon in core.grizzcoWeapons:
    new = {
        "name": {
            locale: grizzWeapon[0]
        },
        "key": grizzWeapon[1],
        "main_ref": grizzWeapon[1],
        "type": {
            "key": grizzWeapon[2]
        },
    }
    cast(List[Dict[str, Dict[str, str]]],
         weaponsList).append(cast(Dict[str, Dict[str, str]], new))
Example #6
0
import core
from objects import Job
import numpy as np
from scipy.stats import ttest_ind
from typing import List, cast, Tuple, Optional
import matplotlib.pyplot as plt
import ujson
import zlib
import filters

dataFile: str = "data/salmonAll.jl.gz"  # core.init("All", "data/")
data: Optional[List[bytes]] = core.loadJobsFromFile(dataFile)
grizzcoRotationsInts: List[int] = core.findRotationByWeaponsAndStage(
    "mem",
    cast(List[bytes], data),
    weapons=(
        "kuma_charger",
        "kuma_blaster",
        "kuma_brella",
        "kuma_slosher",
    ),
)
result: Tuple[List[bytes], List[bytes]] = cast(
    Tuple[List[bytes], List[bytes]],
    filters.duringRotationInts("mem", data, grizzcoRotationsInts, "or"),
)
data = None
withVal: List[bytes] = result[0]
withoutVal: List[bytes] = result[1]
withValClearWaves: List[float] = []
withValDangerRate: List[float] = []