From 64be615bb8692e7a9760bf0a4a367a528421b263 Mon Sep 17 00:00:00 2001 From: Galvantua Date: Tue, 29 Nov 2022 10:05:48 -0500 Subject: [PATCH 1/2] remove old cooldown regex, add support for global ranges --- lolstaticdata/items/modelitem.py | 4 ++-- lolstaticdata/items/pull_items_wiki.py | 12 +++--------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lolstaticdata/items/modelitem.py b/lolstaticdata/items/modelitem.py index 631752b..69e818c 100644 --- a/lolstaticdata/items/modelitem.py +++ b/lolstaticdata/items/modelitem.py @@ -125,8 +125,8 @@ class Active(object): unique: bool name: str effects: str - range: int - cooldown: float + range: str + cooldown: str @dataclasses_json.dataclass_json(letter_case=dataclasses_json.LetterCase.CAMEL) diff --git a/lolstaticdata/items/pull_items_wiki.py b/lolstaticdata/items/pull_items_wiki.py index 13a9647..aca6ce4 100644 --- a/lolstaticdata/items/pull_items_wiki.py +++ b/lolstaticdata/items/pull_items_wiki.py @@ -97,7 +97,6 @@ def _parse(passive: dict,) -> Passive: @classmethod def _parse_actives(cls, item_data: dict) -> List[Active]: - get_cooldown = re.compile(r"(\d+ second cooldown)|(\d+ seconds cooldown)") effects = [] passive = None if "effects" in item_data: @@ -108,22 +107,17 @@ def _parse_actives(cls, item_data: dict) -> List[Active]: if passive: ( unique, - mythic, + mythic, passive_name, passive_effects, item_range, cd, ) = cls._parse_passive_info(passive) - if get_cooldown.search(passive_effects): - cooldown = get_cooldown.search(passive_effects).group(0).split(" ", 1) - cooldown = cls._parse_float(cooldown[0]) - else: - cooldown = None effect = Active( unique=unique, name=passive_name, effects=passive_effects, - cooldown=cooldown, + cooldown=cd, range=item_range, ) # This is hacky... @@ -131,7 +125,7 @@ def _parse_actives(cls, item_data: dict) -> List[Active]: return effects @classmethod - def _parse_passive_info(cls, passive: dict) -> Tuple[bool, bool, Optional[str], str, Optional[int], Optional[str]]: + def _parse_passive_info(cls, passive: dict) -> Tuple[bool, bool, Optional[str], str, Optional[str], Optional[str]]: if "unique" in passive: unique = True mythic = False From 938d897d60416b44a6fc1698b05ab28219cef4d8 Mon Sep 17 00:00:00 2001 From: Galvantua Date: Tue, 29 Nov 2022 22:50:43 -0500 Subject: [PATCH 2/2] fix issue where range would still be parsed as int --- lolstaticdata/items/pull_items_wiki.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lolstaticdata/items/pull_items_wiki.py b/lolstaticdata/items/pull_items_wiki.py index aca6ce4..6f4f005 100644 --- a/lolstaticdata/items/pull_items_wiki.py +++ b/lolstaticdata/items/pull_items_wiki.py @@ -149,9 +149,9 @@ def _parse_passive_info(cls, passive: dict) -> Tuple[bool, bool, Optional[str], passive = passive if "radius" in passive: - item_range = cls._parse_int(passive["radius"]) + item_range = passive["radius"] elif "range" in passive: - item_range = cls._parse_int(passive["range"]) + item_range = passive["range"] else: item_range = None return unique, mythic, name, passive["description"], item_range, cd