def download_versioned_cdragon_champion_summary_files():
    # Using this as an alternative for PBE files since champion summary missing new PBE champs
    json = utils.download_json(
        constants.cdragon_url +
        f"/json/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/default/v1/champions/"
    )
    json = list(filter(lambda x: (x['name'] != "-1.json"), json))

    for x in json:
        utils.download_json(
            constants.cdragon_url +
            f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/default/v1/champions/{x['name']}"
        )
def download_versioned_cdragon_mission_assets(language):
    json = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/{language}/v1/mission-assets.json"
    )
    return list(
        filter(lambda x: (".png" in x['path'] and "Loadouts" not in x['path']),
               json))
def get_ddragon_version(patch):
    versions = utils.download_json(
        constants.ddragon_url + "/api/versions.json", use_cache=False)
    versions = [v for v in versions if "_" not in v]
    for v in versions:
        if v.startswith(patch):
            return v
    return versions[0]
def download_versioned_cdragon_champion_bin_ability(champion, ability):
    cdragon_bin = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/game/data/characters/{champion.lower()}/{champion.lower()}.bin.json"
    )
    for x in cdragon_bin:
        if "mScriptName" in cdragon_bin[x] and cdragon_bin[x][
                'mScriptName'] == ability:
            return cdragon_bin[x]
    return False
def download_versioned_cdragon_champion_summary():
    json = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/default/v1/champion-summary.json"
    )
    json = list(filter(lambda x: (x['id'] != -1), json))
    # for x in json:
    #     if x['alias'] == "FiddleSticks":
    #         x['alias'] = "Fiddlesticks"
    json.sort(key=champion.get_alias)
    return json
def download_versioned_cdragon_champion_bin(champion):
    cdragon_bin = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/game/data/characters/{champion.lower()}/{champion.lower()}.bin.json"
    )
    cdragon_hash = f"Characters/{champion.title()}/CharacterRecords/Root"
    if cdragon_hash in cdragon_bin:
        return cdragon_bin[cdragon_hash]
    for x in cdragon_bin:
        if 'baseHP' in cdragon_bin[x]:
            return cdragon_bin[x]
    return False
Example #7
0
 def _update_ippsec(self):
   self.ipsc = {
     "url": "https://ippsec.rocks/dataset.json",
     "count": 0,
     "entries": {}
   }
   entries = utils.download_json(self.ipsc["url"])
   for entry in entries:
     if not entry.get("videoId", None):
       continue
     name = utils.strip_html(entry["machine"])
     video_url = "https://www.youtube.com/watch?v=%s&t=0" % (entry["videoId"])
     hours = int(entry["timestamp"]["minutes"] // 60); minutes = entry["timestamp"]["minutes"] - (hours*60)
     timestamp = "%02d:%02d:%02d" % (hours, minutes, entry["timestamp"]["seconds"])
     totalseconds = (entry["timestamp"]["minutes"]*60) + entry["timestamp"]["seconds"]
     tsurl = "https://www.youtube.com/watch?v=%s&t=%ds" % (entry["videoId"], totalseconds)
     desc = "%s - %s" % (timestamp, utils.strip_html(entry["line"]))
     if name not in self.ipsc["entries"]:
       self.ipsc["count"] += 1
       self.ipsc["entries"][name] = {
         "video_url": video_url,
         "description": {
           desc: tsurl
         }
       }
     else:
       self.ipsc["entries"][name]["description"][desc] = tsurl
   if len(self.ipsc["entries"]):
     for machine in self.stats["machines"]:
       if self.ipsc and self.ipsc.get("entries") and self.ipsc["entries"]:
         for entry in self.ipsc["entries"]:
           if machine["infrastructure"] in entry.lower().strip() and machine["name"].lower().strip() in entry.lower().strip():
             machine["writeups"] = {
               "ippsec": {
                 "name": entry,
                 "video_url": self.ipsc["entries"][entry]["video_url"],
                 "description": self.ipsc["entries"][entry]["description"],
               }
             }
     utils.info("[update.ippsec] added %d machine writeup descriptions from ippsec" % (self.ipsc["count"]))
def download_versioned_cdragon_items(language):
    json = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/{language}/v1/items.json"
    )
    return json
def download_versioned_ddragon_items(language):
    return utils.download_json(
        constants.ddragon_url +
        f"/cdn/{settings.patch['ddragon']}/data/{language}/item.json")
def download_versioned_cdragon_items_bin():
    json = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/game/global/items/items.bin.json")
    json = {k: v for k, v in json.items() if "itemID" in json[k]}
    return json
def download_versioned_cdragon_recommended(recommended_string):
    return utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/default/{recommended_string.lower()}"
    )
def get_cdragon_version(patch):
    versions = utils.download_json(constants.cdragon_url + "/json/", use_cache=False)
    for v in versions:
        if patch == v['name']:
            return v['name']
    raise Exception('Invalid patch specified')
def get_latest_cdragon_version():
    versionstring = utils.download_json(
        constants.cdragon_url + "/latest/content-metadata.json", use_cache=False)['version']
    split = versionstring.split(".")
    return f"{split[0]}.{split[1]}"
def download_versioned_cdragon_perkstyles(language):
    # returns CDragon Perkstyles JSON
    return utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/{language}/v1/perkstyles.json"
    )
def download_versioned_cdragon_profileicons_summary():
    return utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/default/v1/profile-icons.json"
    )
def get_cdragon_pbe_version():
    return utils.download_json(
        constants.cdragon_url + "/pbe/content-metadata.json", use_cache=False)['version']
def download_versioned_cdragon_map_summary(language):
    json = utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/{language}/v1/maps.json"
    )
    return list(filter(lambda x: (x['id'] != 0), json))
def get_latest_ddragon_version():
    versions = utils.download_json(
        constants.ddragon_url + "/api/versions.json", use_cache=False)
    versions = [v for v in versions if "_" not in v]
    return versions[0]
def download_versioned_cdragon_perks_bin():
    return utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/game/global/perks/perks.bin.json")
def download_versioned_cdragon_summoner_spells(language):
    return utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/{language}/v1/summoner-spells.json"
    )
def download_versioned_cdragon_champion(language, champion_id):
    return utils.download_json(
        constants.cdragon_url +
        f"/{settings.patch['cdragon']}/plugins/rcp-be-lol-game-data/global/{language}/v1/champions/{champion_id}.json"
    )
def download_versioned_ddragon_summoner_spells(language):
    return utils.download_json(
        constants.ddragon_url +
        f"/cdn/{settings.patch['ddragon']}/data/{language}/summoner.json")
Example #23
0
 def get_entries(self, start_index):
     json = utils.download_json(self.search_terms, start_index)
     return utils.get_entries(json)
def download_versioned_ddragon_championfull(language):
    return utils.download_json(
        constants.ddragon_url +
        f"/cdn/{settings.patch['ddragon']}/data/{language}/championFull.json")