anipy-cli 3.3.4__tar.gz → 3.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of anipy-cli might be problematic. Click here for more details.
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/PKG-INFO +4 -4
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/pyproject.toml +2 -2
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/__init__.py +1 -1
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/config.py +6 -6
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/util.py +9 -63
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/README.md +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/arg_parser.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/__init__.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/base_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/binge_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/default_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/download_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/history_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/mal_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/clis/seasonal_cli.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/colors.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/discord.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/download_component.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/mal_proxy.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/menus/__init__.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/menus/base_menu.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/menus/mal_menu.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/menus/menu.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/menus/seasonal_menu.py +0 -0
- {anipy_cli-3.3.4 → anipy_cli-3.4.0}/src/anipy_cli/prompts.py +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: anipy-cli
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0
|
|
4
4
|
Summary: Watch and Download anime from the comfort of your Terminal
|
|
5
|
-
Home-page: https://sdaqo.github.io/anipy-cli
|
|
6
5
|
License: GPL-3.0
|
|
7
6
|
Keywords: anime,cli
|
|
8
7
|
Author: sdaqo
|
|
@@ -15,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
-
Requires-Dist: anipy-api (>=3.
|
|
17
|
+
Requires-Dist: anipy-api (>=3.4.0,<4.0.0)
|
|
19
18
|
Requires-Dist: appdirs (>=1.4.4,<2.0.0)
|
|
20
19
|
Requires-Dist: inquirerpy (>=0.3.4,<0.4.0)
|
|
21
20
|
Requires-Dist: pypresence (>=4.3.0,<5.0.0)
|
|
@@ -23,6 +22,7 @@ Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
|
23
22
|
Requires-Dist: yaspin (>=3.0.2,<4.0.0)
|
|
24
23
|
Project-URL: Bug Tracker, https://github.com/sdaqo/anipy-cli/issues
|
|
25
24
|
Project-URL: Documentation, https://sdaqo.github.io/anipy-cli/getting-started-cli
|
|
25
|
+
Project-URL: Homepage, https://sdaqo.github.io/anipy-cli
|
|
26
26
|
Project-URL: Repository, https://github.com/sdaqo/anipy-cli
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "anipy-cli"
|
|
3
|
-
version = "3.
|
|
3
|
+
version = "3.4.0"
|
|
4
4
|
description = "Watch and Download anime from the comfort of your Terminal"
|
|
5
5
|
authors = ["sdaqo <sdaqo.dev@protonmail.com>"]
|
|
6
6
|
license = "GPL-3.0"
|
|
@@ -20,7 +20,7 @@ yaspin = "^3.0.2"
|
|
|
20
20
|
inquirerpy = "^0.3.4"
|
|
21
21
|
appdirs = "^1.4.4"
|
|
22
22
|
pypresence = "^4.3.0"
|
|
23
|
-
anipy-api = "^3.
|
|
23
|
+
anipy-api = "^3.4.0"
|
|
24
24
|
|
|
25
25
|
[tool.poetry.scripts]
|
|
26
26
|
anipy-cli = "anipy_cli.cli:run_cli"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__appname__ = "anipy-cli"
|
|
2
|
-
__version__ = "3.
|
|
2
|
+
__version__ = "3.4.0"
|
|
@@ -72,7 +72,7 @@ class Config:
|
|
|
72
72
|
|
|
73
73
|
For an updated list of providers look here: https://sdaqo.github.io/anipy-cli/availabilty
|
|
74
74
|
|
|
75
|
-
Supported providers (as of $version):
|
|
75
|
+
Supported providers (as of $version): animekai
|
|
76
76
|
|
|
77
77
|
Examples:
|
|
78
78
|
providers:
|
|
@@ -83,11 +83,11 @@ class Config:
|
|
|
83
83
|
mal: ["provider2", "provider3"]
|
|
84
84
|
"""
|
|
85
85
|
defaults = {
|
|
86
|
-
"default": ["
|
|
87
|
-
"download": ["
|
|
88
|
-
"seasonal": ["
|
|
89
|
-
"binge": ["
|
|
90
|
-
"mal": ["
|
|
86
|
+
"default": ["animekai"],
|
|
87
|
+
"download": ["animekai"],
|
|
88
|
+
"seasonal": ["animekai"],
|
|
89
|
+
"binge": ["animekai"],
|
|
90
|
+
"mal": ["animekai"],
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
value = self._get_value("providers", defaults, dict)
|
|
@@ -233,71 +233,17 @@ def convert_letter_to_season(letter: str) -> Optional[str]:
|
|
|
233
233
|
|
|
234
234
|
|
|
235
235
|
def migrate_locallist(file: Path) -> LocalListData:
|
|
236
|
-
import json
|
|
237
|
-
import re
|
|
238
|
-
|
|
239
236
|
error(
|
|
240
|
-
f"{file} is in an unsuported format
|
|
237
|
+
f"{file} is in an unsuported format..."
|
|
241
238
|
)
|
|
242
239
|
|
|
243
|
-
old_data = json.load(file.open("r"))
|
|
244
240
|
new_list = LocalListData({})
|
|
245
|
-
|
|
246
|
-
"
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
for k, v in old_data.items():
|
|
252
|
-
name = k
|
|
253
|
-
name = re.sub(r"\s?\((dub|japanese\sdub)\)", "", name, flags=re.IGNORECASE)
|
|
254
|
-
identifier = Path(v.get("category_url", v["category-link"])).name
|
|
255
|
-
is_dub = identifier.endswith("-dub") or identifier.endswith("-japanese-dub")
|
|
256
|
-
identifier = identifier.removesuffix("-dub").removesuffix("-japanese-dub")
|
|
257
|
-
episode = v["ep"]
|
|
258
|
-
unique_id = f"gogoanime:{identifier}"
|
|
259
|
-
|
|
260
|
-
langs = set()
|
|
261
|
-
|
|
262
|
-
try:
|
|
263
|
-
gogo.get_episodes(identifier, lang=LanguageTypeEnum.DUB)
|
|
264
|
-
langs.add(LanguageTypeEnum.DUB)
|
|
265
|
-
gogo.get_episodes(identifier, lang=LanguageTypeEnum.SUB)
|
|
266
|
-
langs.add(LanguageTypeEnum.SUB)
|
|
267
|
-
except LangTypeNotAvailableError:
|
|
268
|
-
pass
|
|
269
|
-
|
|
270
|
-
if not langs:
|
|
271
|
-
error(f"> failed to migrate {name}, as it was not found in gogoanime")
|
|
272
|
-
|
|
273
|
-
if is_dub and LanguageTypeEnum.DUB not in langs:
|
|
274
|
-
error(
|
|
275
|
-
f"> failed to migrate {name}, as it was configured as dub but"
|
|
276
|
-
f"{gogo.BASE_URL}/category/{identifier}-dub or {gogo.BASE_URL}/category/{identifier}-japanese-dub was not found!"
|
|
277
|
-
)
|
|
278
|
-
continue
|
|
279
|
-
|
|
280
|
-
new_entry = LocalListEntry(
|
|
281
|
-
provider="gogoanime",
|
|
282
|
-
name=name,
|
|
283
|
-
identifier=identifier,
|
|
284
|
-
episode=episode,
|
|
285
|
-
language=LanguageTypeEnum.DUB if is_dub else LanguageTypeEnum.SUB,
|
|
286
|
-
languages=langs,
|
|
287
|
-
timestamp=int(time.time()),
|
|
288
|
-
)
|
|
289
|
-
|
|
290
|
-
new_list.data[unique_id] = new_entry
|
|
291
|
-
|
|
292
|
-
new_list.write(file)
|
|
241
|
+
choice = inquirer.confirm( # type: ignore
|
|
242
|
+
message="Should it be delted?",
|
|
243
|
+
default=False,
|
|
244
|
+
).execute()
|
|
245
|
+
if choice:
|
|
246
|
+
file.unlink()
|
|
293
247
|
return new_list
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
message=f"Can not migrate {file}, should it be delted?",
|
|
297
|
-
default=False,
|
|
298
|
-
).execute()
|
|
299
|
-
if choice:
|
|
300
|
-
file.unlink()
|
|
301
|
-
return new_list
|
|
302
|
-
else:
|
|
303
|
-
error("could not read {file}", fatal=True)
|
|
248
|
+
else:
|
|
249
|
+
error("could not read {file}", fatal=True)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|