anipy-cli 3.3.5__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.

Files changed (26) hide show
  1. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/PKG-INFO +2 -2
  2. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/pyproject.toml +2 -2
  3. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/__init__.py +1 -1
  4. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/config.py +6 -6
  5. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/util.py +9 -63
  6. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/README.md +0 -0
  7. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/arg_parser.py +0 -0
  8. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/cli.py +0 -0
  9. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/__init__.py +0 -0
  10. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/base_cli.py +0 -0
  11. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/binge_cli.py +0 -0
  12. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/default_cli.py +0 -0
  13. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/download_cli.py +0 -0
  14. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/history_cli.py +0 -0
  15. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/mal_cli.py +0 -0
  16. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/clis/seasonal_cli.py +0 -0
  17. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/colors.py +0 -0
  18. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/discord.py +0 -0
  19. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/download_component.py +0 -0
  20. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/mal_proxy.py +0 -0
  21. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/menus/__init__.py +0 -0
  22. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/menus/base_menu.py +0 -0
  23. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/menus/mal_menu.py +0 -0
  24. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/menus/menu.py +0 -0
  25. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/menus/seasonal_menu.py +0 -0
  26. {anipy_cli-3.3.5 → anipy_cli-3.4.0}/src/anipy_cli/prompts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anipy-cli
3
- Version: 3.3.5
3
+ Version: 3.4.0
4
4
  Summary: Watch and Download anime from the comfort of your Terminal
5
5
  License: GPL-3.0
6
6
  Keywords: anime,cli
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Classifier: Programming Language :: Python :: 3.13
17
- Requires-Dist: anipy-api (>=3.3.5,<4.0.0)
17
+ Requires-Dist: anipy-api (>=3.4.0,<4.0.0)
18
18
  Requires-Dist: appdirs (>=1.4.4,<2.0.0)
19
19
  Requires-Dist: inquirerpy (>=0.3.4,<0.4.0)
20
20
  Requires-Dist: pypresence (>=4.3.0,<5.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "anipy-cli"
3
- version = "3.3.5"
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.3.5"
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.3.5"
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): gogoanime, anivibe
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": ["anivibe"],
87
- "download": ["anivibe"],
88
- "seasonal": ["anivibe"],
89
- "binge": ["anivibe"],
90
- "mal": ["anivibe"],
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, trying to migrate the old gogoanime entries..."
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
- gogo = get_provider(
246
- "gogoanime", base_url_override=Config().provider_urls.get("gogoanime", None)
247
- )
248
- assert gogo is not None
249
-
250
- try:
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
- except KeyError:
295
- choice = inquirer.confirm( # type: ignore
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