anipy-cli 3.1.4__tar.gz → 3.1.6__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.1.4 → anipy_cli-3.1.6}/PKG-INFO +2 -2
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/pyproject.toml +2 -2
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/__init__.py +1 -1
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/arg_parser.py +1 -1
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/config.py +9 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/util.py +8 -16
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/README.md +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/__init__.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/base_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/binge_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/default_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/download_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/history_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/mal_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/clis/seasonal_cli.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/colors.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/discord.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/mal_proxy.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/menus/__init__.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/menus/base_menu.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/menus/mal_menu.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/menus/menu.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/menus/seasonal_menu.py +0 -0
- {anipy_cli-3.1.4 → anipy_cli-3.1.6}/src/anipy_cli/prompts.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: anipy-cli
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.6
|
|
4
4
|
Summary: Watch and Download anime from the comfort of your Terminal
|
|
5
5
|
Home-page: https://sdaqo.github.io/anipy-cli
|
|
6
6
|
License: GPL-3.0
|
|
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
-
Requires-Dist: anipy-api (>=3.1.
|
|
17
|
+
Requires-Dist: anipy-api (>=3.1.6,<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.1.
|
|
3
|
+
version = "3.1.6"
|
|
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.1.
|
|
23
|
+
anipy-api = "^3.1.6"
|
|
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.1.
|
|
2
|
+
__version__ = "3.1.6"
|
|
@@ -139,7 +139,7 @@ def parse_args(override_args: Optional[list[str]] = None) -> CliArgs:
|
|
|
139
139
|
"-p",
|
|
140
140
|
"--optional-player",
|
|
141
141
|
required=False,
|
|
142
|
-
choices=["mpv", "vlc", "syncplay", "mpvnet", "mpv-controlled"],
|
|
142
|
+
choices=["mpv", "vlc", "iina", "syncplay", "mpvnet", "mpv-controlled"],
|
|
143
143
|
help="Override the player set in the config.",
|
|
144
144
|
)
|
|
145
145
|
|
|
@@ -149,6 +149,15 @@ class Config:
|
|
|
149
149
|
"""
|
|
150
150
|
return self._get_value("vlc_commandline_options", [], list)
|
|
151
151
|
|
|
152
|
+
@property
|
|
153
|
+
def iina_commandline_options(self) -> List[str]:
|
|
154
|
+
"""Extra commandline arguments for iina.
|
|
155
|
+
|
|
156
|
+
Examples:
|
|
157
|
+
iina_commandline_options: ["--mpv-fullscreen"]
|
|
158
|
+
"""
|
|
159
|
+
return self._get_value("iina_commandline_options", [], list)
|
|
160
|
+
|
|
152
161
|
@property
|
|
153
162
|
def reuse_mpv_window(self) -> bool:
|
|
154
163
|
"""DEPRECATED This option was deprecated in 3.0.0, please use `mpv-
|
|
@@ -14,14 +14,10 @@ from typing import (
|
|
|
14
14
|
|
|
15
15
|
from anipy_api.anime import Anime
|
|
16
16
|
from anipy_api.download import Downloader
|
|
17
|
-
from anipy_api.player import get_player
|
|
18
|
-
from anipy_api.provider import (
|
|
19
|
-
LanguageTypeEnum,
|
|
20
|
-
list_providers,
|
|
21
|
-
get_provider,
|
|
22
|
-
)
|
|
23
|
-
from anipy_api.locallist import LocalListData, LocalListEntry
|
|
24
17
|
from anipy_api.error import LangTypeNotAvailableError
|
|
18
|
+
from anipy_api.locallist import LocalListData, LocalListEntry
|
|
19
|
+
from anipy_api.player import get_player
|
|
20
|
+
from anipy_api.provider import LanguageTypeEnum, get_provider, list_providers
|
|
25
21
|
from InquirerPy import inquirer
|
|
26
22
|
from yaspin.core import Yaspin
|
|
27
23
|
from yaspin.spinners import Spinners
|
|
@@ -116,20 +112,14 @@ def get_download_path(
|
|
|
116
112
|
def parse_episode_ranges(ranges: str, episodes: List["Episode"]) -> List["Episode"]:
|
|
117
113
|
picked = set()
|
|
118
114
|
for r in ranges.split():
|
|
119
|
-
numbers = r.split("-")
|
|
115
|
+
numbers = [parsenum(n) for n in r.split("-")]
|
|
116
|
+
print(numbers)
|
|
120
117
|
if numbers[0] > numbers[-1]:
|
|
121
118
|
error(f"invalid range: {r}")
|
|
122
119
|
continue
|
|
123
|
-
# return pick_episode_range_prompt(anime, dub)
|
|
124
|
-
|
|
125
120
|
try:
|
|
126
121
|
picked = picked | set(
|
|
127
|
-
episodes[
|
|
128
|
-
episodes.index(parsenum(numbers[0])) : episodes.index(
|
|
129
|
-
parsenum(numbers[-1])
|
|
130
|
-
)
|
|
131
|
-
+ 1
|
|
132
|
-
]
|
|
122
|
+
episodes[episodes.index(numbers[0]) : episodes.index(numbers[-1]) + 1]
|
|
133
123
|
)
|
|
134
124
|
except ValueError:
|
|
135
125
|
error(f"range `{r}` is not contained in episodes {episodes}")
|
|
@@ -174,6 +164,8 @@ def get_configured_player(player_override: Optional[str] = None) -> "PlayerBase"
|
|
|
174
164
|
args = config.mpv_commandline_options
|
|
175
165
|
elif "vlc" in player.stem:
|
|
176
166
|
args = config.vlc_commandline_options
|
|
167
|
+
elif "iina" in player.stem:
|
|
168
|
+
args = config.iina_commandline_options
|
|
177
169
|
else:
|
|
178
170
|
args = []
|
|
179
171
|
|
|
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
|