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
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")
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")