From e0e6b89dd81a430b9b48ab47b8f899e55e6b3d2e Mon Sep 17 00:00:00 2001 From: ginop-1 Date: Mon, 14 Aug 2023 19:56:18 +0200 Subject: [PATCH 1/4] cambiato l'attributo "release" da datetime a stringa --- animeworld/utility.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/animeworld/utility.py b/animeworld/utility.py index 0355cc5..26fbe8e 100644 --- a/animeworld/utility.py +++ b/animeworld/utility.py @@ -88,7 +88,8 @@ def find(keyword: str) -> List[Dict]: "name": str, # Nome dell'anime "jtitle": str, # Nome giapponese (con caratteri latini) "studio": str, # Studio dell'anime - "release": datetime, # Giorno, Mese e Anno della release dell'anime + "release": str | None, # Giorno, Mese e Anno della release dell'anime. + # Se non disponibile ("??" al posto della data), ritorna None "episodes": int, # Numero di episodi "state": str, # Es. "0", "1", ... "story": str, # Trama dell'anime @@ -130,8 +131,6 @@ def find(keyword: str) -> List[Dict]: for k in elem: if elem[k] == "??": elem[k] = None - if elem["release"] and elem["release"].find("??") != -1: - elem["release"] = elem["release"].replace("??", "1") data.sort(key=lambda a: a["dub"]) @@ -141,7 +140,7 @@ def find(keyword: str) -> List[Dict]: "name": elem["name"], "jtitle": elem["jtitle"], "studio": elem["studio"], - "release": datetime.strptime(elem["release"], "%d %B %Y") if elem["release"] is not None else None, + "release": elem["release"], "episodes": int(elem["episodes"]) if elem["episodes"] is not None else None, "state": elem["state"], "story": elem["story"], From d6fb0ef78e4866c9960a61bc2f0901325a638d43 Mon Sep 17 00:00:00 2001 From: ginop-1 Date: Mon, 14 Aug 2023 20:01:15 +0200 Subject: [PATCH 2/4] rimozione codice inutile della libreria locale e datetime --- animeworld/utility.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/animeworld/utility.py b/animeworld/utility.py index 26fbe8e..5d7b37b 100644 --- a/animeworld/utility.py +++ b/animeworld/utility.py @@ -7,10 +7,6 @@ from typing import * import re -from datetime import datetime -import time -import locale - from .exceptions import DeprecatedLibrary class MySession(httpx.Client): @@ -116,11 +112,6 @@ def find(keyword: str) -> List[Dict]: ``` """ - try: - locale.setlocale(locale.LC_TIME, "it_IT.UTF-8") - except locale.Error: - pass - res = SES.post("https://www.animeworld.so/api/search/v2?", params = {"keyword": keyword}, follow_redirects=True) data = res.json() From 90e3e0e06627812780f70cc61d841b520e17ce34 Mon Sep 17 00:00:00 2001 From: Lorenzo Chesi Date: Tue, 15 Aug 2023 17:42:23 +0200 Subject: [PATCH 3/4] correzione test --- tests/test_animeworld.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_animeworld.py b/tests/test_animeworld.py index 3f8a895..3fe13b2 100644 --- a/tests/test_animeworld.py +++ b/tests/test_animeworld.py @@ -69,7 +69,7 @@ def test_ServerNotSupported(self) -> None: """ Testa il corretto riconoscimento di un server non supportato. """ - ep = random.choice(aw.Anime("https://www.animeworld.so/play/fullmetal-alchemist-brotherhood.Ihtnf").getEpisodes()) + ep = random.choice(aw.Anime("https://www.animeworld.so/play/fullmetal-alchemist-brotherhood.4vGGQ").getEpisodes()) server = [s for s in ep.links if s.Nid == 2][0] @@ -81,7 +81,7 @@ class TestAnimeWorld(unittest.TestCase): @classmethod def setUpClass(cls) -> None: """Inizializza la classe Anime.""" - cls.anime = aw.Anime("https://www.animeworld.so/play/fullmetal-alchemist-brotherhood.Ihtnf") + cls.anime = aw.Anime("https://www.animeworld.so/play/fullmetal-alchemist-brotherhood.4vGGQ") def test_anime(self): """ From 825e0cc5aecbf034f749bf9c0adf140fc07a7750 Mon Sep 17 00:00:00 2001 From: Lorenzo Chesi Date: Tue, 15 Aug 2023 17:47:55 +0200 Subject: [PATCH 4/4] docs --- animeworld/utility.py | 3 +-- docs/usage/quickstart.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/animeworld/utility.py b/animeworld/utility.py index 5d7b37b..1c6c09b 100644 --- a/animeworld/utility.py +++ b/animeworld/utility.py @@ -84,8 +84,7 @@ def find(keyword: str) -> List[Dict]: "name": str, # Nome dell'anime "jtitle": str, # Nome giapponese (con caratteri latini) "studio": str, # Studio dell'anime - "release": str | None, # Giorno, Mese e Anno della release dell'anime. - # Se non disponibile ("??" al posto della data), ritorna None + "release": str | None, # Giorno, Mese e Anno della release dell'anime. Se non disponibile ("??" al posto della data), ritorna None. "episodes": int, # Numero di episodi "state": str, # Es. "0", "1", ... "story": str, # Trama dell'anime diff --git a/docs/usage/quickstart.md b/docs/usage/quickstart.md index c330cfa..03b4322 100644 --- a/docs/usage/quickstart.md +++ b/docs/usage/quickstart.md @@ -23,7 +23,7 @@ print(res) "name": "Sword Art Online", "jtitle": "Sword Art Online", "studio": "A-1 Pictures", - "release": datetime.datetime(2012, 7, 8, 0, 0), + "release": "05 Luglio 2014", "episodes": 25, "state": "1", "story": 'Kazuto "Kirito" Kirigaya, un genio della programmazione, entra in una realtà virtuale interattiva con pluralità di giocatori (una realtà "massively multi-player online" o "MMO") denominata "Sword Art Online". Il problema sta nel fatto che, una volta entrati, se ne può uscire solo vincitori, completando il gioco, perché il game over equivale a morte certa del giocatore.',