aw-cli 1.7__tar.gz → 1.8__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.
- aw-cli-1.8/PKG-INFO +181 -0
- aw-cli-1.8/README.md +164 -0
- aw-cli-1.8/aw_cli.egg-info/PKG-INFO +181 -0
- {aw-cli-1.7 → aw-cli-1.8}/aw_cli.egg-info/SOURCES.txt +5 -0
- aw-cli-1.8/awcli/anilist.py +162 -0
- aw-cli-1.8/awcli/anime.py +111 -0
- aw-cli-1.8/awcli/arg_parser.py +136 -0
- {aw-cli-1.7 → aw-cli-1.8}/awcli/run.py +326 -255
- aw-cli-1.8/awcli/utilities.py +277 -0
- aw-cli-1.8/awcli/version.py +1 -0
- {aw-cli-1.7 → aw-cli-1.8}/setup.py +1 -6
- aw-cli-1.8/tests/test_anime.py +65 -0
- {aw-cli-1.7 → aw-cli-1.8}/tests/test_run.py +6 -5
- {aw-cli-1.7 → aw-cli-1.8}/tests/test_utilities.py +31 -17
- aw-cli-1.7/PKG-INFO +0 -74
- aw-cli-1.7/README.md +0 -63
- aw-cli-1.7/aw_cli.egg-info/PKG-INFO +0 -74
- aw-cli-1.7/awcli/utilities.py +0 -447
- {aw-cli-1.7 → aw-cli-1.8}/LICENSE +0 -0
- {aw-cli-1.7 → aw-cli-1.8}/aw_cli.egg-info/dependency_links.txt +0 -0
- {aw-cli-1.7 → aw-cli-1.8}/aw_cli.egg-info/entry_points.txt +0 -0
- {aw-cli-1.7 → aw-cli-1.8}/aw_cli.egg-info/requires.txt +0 -0
- {aw-cli-1.7 → aw-cli-1.8}/aw_cli.egg-info/top_level.txt +0 -0
- {aw-cli-1.7 → aw-cli-1.8}/awcli/__init__.py +0 -0
- {aw-cli-1.7 → aw-cli-1.8}/setup.cfg +0 -0
aw-cli-1.8/PKG-INFO
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: aw-cli
|
|
3
|
+
Version: 1.8
|
|
4
|
+
Summary: guarda anime dal terminale e molto altro!
|
|
5
|
+
Home-page: https://github.com/fexh10/aw-cli
|
|
6
|
+
Author: fexh10
|
|
7
|
+
License: GPL-3.0
|
|
8
|
+
Requires-Python: >3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Dist: bs4
|
|
12
|
+
Requires-Dist: requests
|
|
13
|
+
Requires-Dist: lxml
|
|
14
|
+
Requires-Dist: pySmartDL
|
|
15
|
+
Requires-Dist: wheel
|
|
16
|
+
Requires-Dist: regex
|
|
17
|
+
|
|
18
|
+
# aw-cli
|
|
19
|
+
<h3 align="center">
|
|
20
|
+
|
|
21
|
+
Guarda anime dal terminale e molto altro!<br /> Gli anime vengono presi da <a href="https://www.animeworld.tv/">AnimeWorld</a>
|
|
22
|
+
|
|
23
|
+
</h3>
|
|
24
|
+
|
|
25
|
+
## Anteprima
|
|
26
|
+
https://user-images.githubusercontent.com/90156014/210212814-e73ba7af-ce12-43ad-95ff-dcd85b39a45c.mp4
|
|
27
|
+
|
|
28
|
+
## Indice
|
|
29
|
+
|
|
30
|
+
- [aw-cli](#aw-cli)
|
|
31
|
+
- [Anteprima](#anteprima)
|
|
32
|
+
- [Indice](#indice)
|
|
33
|
+
- [Installazione](#installazione)
|
|
34
|
+
- [Problemi noti](#problemi-noti)
|
|
35
|
+
- [Disinstallazione](#disinstallazione)
|
|
36
|
+
- [Utilizzo](#utilizzo)
|
|
37
|
+
- [Crediti](#crediti)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Installazione
|
|
41
|
+
|
|
42
|
+
Lo script funziona sia con [MPV](https://mpv.io/installation/) che con [VLC](https://www.videolan.org/vlc/index.it.html). <br />
|
|
43
|
+
|
|
44
|
+
<details><summary><b>Linux, MacOS</b></summary>
|
|
45
|
+
È possibile installare aw-cli da pip:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
python3 -m pip install aw-cli
|
|
49
|
+
```
|
|
50
|
+
</details>
|
|
51
|
+
|
|
52
|
+
<details><summary><b>Windows</b></summary>
|
|
53
|
+
Attualmente, Windows presenta due versioni: la più recente, progettata per funzionare su WSL (Windows Subsystem for Linux), e una versione Legacy compatibile con PowerShell. La versione Legacy non riceverà ulteriori aggiornamenti, mentre l'altra sarà mantenuta costantemente.
|
|
54
|
+
|
|
55
|
+
<br>
|
|
56
|
+
|
|
57
|
+
<details><summary><b>Ultima Versione</b></summary>
|
|
58
|
+
L'ultima versione per Windows richiede installare <a href="https://learn.microsoft.com/it-it/windows/wsl/install">WSL</a>:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
wsl --install
|
|
62
|
+
```
|
|
63
|
+
Per installare MPV su WSL, basta eseguire:
|
|
64
|
+
```
|
|
65
|
+
sudo apt install mpv
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Per VLC:
|
|
69
|
+
```
|
|
70
|
+
sudo apt install vlc
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Il programma dovrà essere installato e avviato da WSL:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
python3 -m pip install aw-cli
|
|
77
|
+
```
|
|
78
|
+
</details>
|
|
79
|
+
<details><summary><b>Versione Legacy</b></summary>
|
|
80
|
+
Per installare la versione Legacy, è necessario avere <a href="https://www.git-scm.com/download/win">git</a>.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
python3 -m pip install git+https://github.com/fexh10/aw-cli.git@winLegacy
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
</details>
|
|
88
|
+
</details>
|
|
89
|
+
|
|
90
|
+
<details><summary><b>Android</b></summary>
|
|
91
|
+
Android richiede l'installazione di <a href="https://github.com/termux/termux-app/releases/tag/v0.118.0">termux</a>. <br>
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
pkg update && pkg upgrade
|
|
95
|
+
pkg install python python-pip libxml2 libxslt pkg-config
|
|
96
|
+
python3 -m pip install aw-cli
|
|
97
|
+
```
|
|
98
|
+
</details>
|
|
99
|
+
|
|
100
|
+
<details><summary><b>iOS</b></summary>
|
|
101
|
+
La versione per iOS richiede <a href="https://apps.apple.com/it/app/ish-shell/id1436902243">iSH</a> e <a href="https://apps.apple.com/it/app/vlc-media-player/id650377962">VLC</a>.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
apk update
|
|
105
|
+
apk upgrade
|
|
106
|
+
apk add python3 python3-dev py3-pip gcc musl-dev git
|
|
107
|
+
python3 -m pip install git+https://github.com/fexh10/aw-cli.git@iosCompatibility
|
|
108
|
+
```
|
|
109
|
+
Nota che la velocità di download e caricamento molto bassa è un problema di iSH e non di aw-cli.
|
|
110
|
+
</details>
|
|
111
|
+
|
|
112
|
+
## Problemi noti
|
|
113
|
+
Se è impossibile avviare `aw-cli`, è possibile che non si abbia la cartella degli script Python aggiunta al path. <br />
|
|
114
|
+
|
|
115
|
+
<details> <summary><b>Linux/Windows WSL</b></summary>
|
|
116
|
+
Aggiungere la seguente linea al file di profilo (.bashrc, .zshrc, o altro):
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
export PATH=$PATH:$HOME/.local/bin
|
|
120
|
+
```
|
|
121
|
+
Riavviare il terminale o eseguire `source ~/.bashrc`.
|
|
122
|
+
|
|
123
|
+
</details>
|
|
124
|
+
|
|
125
|
+
<details> <summary><b>MacOS</b></summary>
|
|
126
|
+
Aggiungere la seguente linea al file di profilo (.bashrc, .zshrc, o altro):
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
export PATH=$PATH:$HOME/Library/Python/3.x/bin
|
|
130
|
+
```
|
|
131
|
+
Sostituire `3.x` con la propria versione di Python. <br>
|
|
132
|
+
Riavviare il terminale o eseguire `source ~/.bashrc`.
|
|
133
|
+
</details>
|
|
134
|
+
|
|
135
|
+
<details> <summary><b>Windows Legacy</b></summary>
|
|
136
|
+
Inserire da linea di comando:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
setx PATH "%PATH%;%APPDATA%\Local\Programs\Python\Python3x\Scripts
|
|
140
|
+
```
|
|
141
|
+
Sostituire `3.x` con la propria versione di Python. <br/>
|
|
142
|
+
Se necessario, riavviare il sistema.
|
|
143
|
+
</details>
|
|
144
|
+
|
|
145
|
+
## Disinstallazione
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
python3 -m pip uninstall aw-cli
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Utilizzo
|
|
152
|
+
```
|
|
153
|
+
usage: aw-cli [-h] [-v] [-c [{r}]] [-l [{a,s,d,t}]] [-i] [-s] [-d] [-o] [-p] [-u [UPDATE]] [-a]
|
|
154
|
+
|
|
155
|
+
Guarda anime dal terminale e molto altro!
|
|
156
|
+
|
|
157
|
+
Informazioni:
|
|
158
|
+
-h, --help mostra questo messaggio
|
|
159
|
+
-v, --versione stampa la versione del programma
|
|
160
|
+
|
|
161
|
+
Opzioni:
|
|
162
|
+
-c [{r}], --cronologia [{r}]
|
|
163
|
+
continua a guardare un anime dalla cronologia. 'r' per rimuovere un anime (opzionale)
|
|
164
|
+
-l [{a,s,d,t}], --lista [{a,s,d,t}]
|
|
165
|
+
lista degli ultimi anime usciti su AnimeWorld. a = all, s = sub, d = dub, t = tendenze. Default 'a'
|
|
166
|
+
-i, --info visualizza le informazioni e la trama di un anime
|
|
167
|
+
-s, --syncplay usa syncplay per guardare un anime insieme ai tuoi amici
|
|
168
|
+
-d, --download scarica gli episodi che preferisci
|
|
169
|
+
-o, --offline apri gli episodi scaricati precedentemente direttamente dal terminale
|
|
170
|
+
-p, --privato guarda un episodio senza che si aggiorni la cronologia o AniList
|
|
171
|
+
-u [UPDATE], --update [UPDATE]
|
|
172
|
+
aggiorna il programma
|
|
173
|
+
|
|
174
|
+
Configurazione:
|
|
175
|
+
-a, --configurazione avvia il menu di configurazione
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Crediti
|
|
179
|
+
Progetto ispirato a <a href="https://github.com/pystardust/ani-cli">ani-cli</a>.
|
|
180
|
+
|
|
181
|
+
Un ringraziamento speciale a <a href="https://github.com/axtrat">axtrat</a> per l'aiuto nella realizzazione del progetto.
|
aw-cli-1.8/README.md
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# aw-cli
|
|
2
|
+
<h3 align="center">
|
|
3
|
+
|
|
4
|
+
Guarda anime dal terminale e molto altro!<br /> Gli anime vengono presi da <a href="https://www.animeworld.tv/">AnimeWorld</a>
|
|
5
|
+
|
|
6
|
+
</h3>
|
|
7
|
+
|
|
8
|
+
## Anteprima
|
|
9
|
+
https://user-images.githubusercontent.com/90156014/210212814-e73ba7af-ce12-43ad-95ff-dcd85b39a45c.mp4
|
|
10
|
+
|
|
11
|
+
## Indice
|
|
12
|
+
|
|
13
|
+
- [aw-cli](#aw-cli)
|
|
14
|
+
- [Anteprima](#anteprima)
|
|
15
|
+
- [Indice](#indice)
|
|
16
|
+
- [Installazione](#installazione)
|
|
17
|
+
- [Problemi noti](#problemi-noti)
|
|
18
|
+
- [Disinstallazione](#disinstallazione)
|
|
19
|
+
- [Utilizzo](#utilizzo)
|
|
20
|
+
- [Crediti](#crediti)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Installazione
|
|
24
|
+
|
|
25
|
+
Lo script funziona sia con [MPV](https://mpv.io/installation/) che con [VLC](https://www.videolan.org/vlc/index.it.html). <br />
|
|
26
|
+
|
|
27
|
+
<details><summary><b>Linux, MacOS</b></summary>
|
|
28
|
+
È possibile installare aw-cli da pip:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
python3 -m pip install aw-cli
|
|
32
|
+
```
|
|
33
|
+
</details>
|
|
34
|
+
|
|
35
|
+
<details><summary><b>Windows</b></summary>
|
|
36
|
+
Attualmente, Windows presenta due versioni: la più recente, progettata per funzionare su WSL (Windows Subsystem for Linux), e una versione Legacy compatibile con PowerShell. La versione Legacy non riceverà ulteriori aggiornamenti, mentre l'altra sarà mantenuta costantemente.
|
|
37
|
+
|
|
38
|
+
<br>
|
|
39
|
+
|
|
40
|
+
<details><summary><b>Ultima Versione</b></summary>
|
|
41
|
+
L'ultima versione per Windows richiede installare <a href="https://learn.microsoft.com/it-it/windows/wsl/install">WSL</a>:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
wsl --install
|
|
45
|
+
```
|
|
46
|
+
Per installare MPV su WSL, basta eseguire:
|
|
47
|
+
```
|
|
48
|
+
sudo apt install mpv
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Per VLC:
|
|
52
|
+
```
|
|
53
|
+
sudo apt install vlc
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Il programma dovrà essere installato e avviato da WSL:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
python3 -m pip install aw-cli
|
|
60
|
+
```
|
|
61
|
+
</details>
|
|
62
|
+
<details><summary><b>Versione Legacy</b></summary>
|
|
63
|
+
Per installare la versione Legacy, è necessario avere <a href="https://www.git-scm.com/download/win">git</a>.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
python3 -m pip install git+https://github.com/fexh10/aw-cli.git@winLegacy
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
</details>
|
|
71
|
+
</details>
|
|
72
|
+
|
|
73
|
+
<details><summary><b>Android</b></summary>
|
|
74
|
+
Android richiede l'installazione di <a href="https://github.com/termux/termux-app/releases/tag/v0.118.0">termux</a>. <br>
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
pkg update && pkg upgrade
|
|
78
|
+
pkg install python python-pip libxml2 libxslt pkg-config
|
|
79
|
+
python3 -m pip install aw-cli
|
|
80
|
+
```
|
|
81
|
+
</details>
|
|
82
|
+
|
|
83
|
+
<details><summary><b>iOS</b></summary>
|
|
84
|
+
La versione per iOS richiede <a href="https://apps.apple.com/it/app/ish-shell/id1436902243">iSH</a> e <a href="https://apps.apple.com/it/app/vlc-media-player/id650377962">VLC</a>.
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
apk update
|
|
88
|
+
apk upgrade
|
|
89
|
+
apk add python3 python3-dev py3-pip gcc musl-dev git
|
|
90
|
+
python3 -m pip install git+https://github.com/fexh10/aw-cli.git@iosCompatibility
|
|
91
|
+
```
|
|
92
|
+
Nota che la velocità di download e caricamento molto bassa è un problema di iSH e non di aw-cli.
|
|
93
|
+
</details>
|
|
94
|
+
|
|
95
|
+
## Problemi noti
|
|
96
|
+
Se è impossibile avviare `aw-cli`, è possibile che non si abbia la cartella degli script Python aggiunta al path. <br />
|
|
97
|
+
|
|
98
|
+
<details> <summary><b>Linux/Windows WSL</b></summary>
|
|
99
|
+
Aggiungere la seguente linea al file di profilo (.bashrc, .zshrc, o altro):
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
export PATH=$PATH:$HOME/.local/bin
|
|
103
|
+
```
|
|
104
|
+
Riavviare il terminale o eseguire `source ~/.bashrc`.
|
|
105
|
+
|
|
106
|
+
</details>
|
|
107
|
+
|
|
108
|
+
<details> <summary><b>MacOS</b></summary>
|
|
109
|
+
Aggiungere la seguente linea al file di profilo (.bashrc, .zshrc, o altro):
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
export PATH=$PATH:$HOME/Library/Python/3.x/bin
|
|
113
|
+
```
|
|
114
|
+
Sostituire `3.x` con la propria versione di Python. <br>
|
|
115
|
+
Riavviare il terminale o eseguire `source ~/.bashrc`.
|
|
116
|
+
</details>
|
|
117
|
+
|
|
118
|
+
<details> <summary><b>Windows Legacy</b></summary>
|
|
119
|
+
Inserire da linea di comando:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
setx PATH "%PATH%;%APPDATA%\Local\Programs\Python\Python3x\Scripts
|
|
123
|
+
```
|
|
124
|
+
Sostituire `3.x` con la propria versione di Python. <br/>
|
|
125
|
+
Se necessario, riavviare il sistema.
|
|
126
|
+
</details>
|
|
127
|
+
|
|
128
|
+
## Disinstallazione
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
python3 -m pip uninstall aw-cli
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Utilizzo
|
|
135
|
+
```
|
|
136
|
+
usage: aw-cli [-h] [-v] [-c [{r}]] [-l [{a,s,d,t}]] [-i] [-s] [-d] [-o] [-p] [-u [UPDATE]] [-a]
|
|
137
|
+
|
|
138
|
+
Guarda anime dal terminale e molto altro!
|
|
139
|
+
|
|
140
|
+
Informazioni:
|
|
141
|
+
-h, --help mostra questo messaggio
|
|
142
|
+
-v, --versione stampa la versione del programma
|
|
143
|
+
|
|
144
|
+
Opzioni:
|
|
145
|
+
-c [{r}], --cronologia [{r}]
|
|
146
|
+
continua a guardare un anime dalla cronologia. 'r' per rimuovere un anime (opzionale)
|
|
147
|
+
-l [{a,s,d,t}], --lista [{a,s,d,t}]
|
|
148
|
+
lista degli ultimi anime usciti su AnimeWorld. a = all, s = sub, d = dub, t = tendenze. Default 'a'
|
|
149
|
+
-i, --info visualizza le informazioni e la trama di un anime
|
|
150
|
+
-s, --syncplay usa syncplay per guardare un anime insieme ai tuoi amici
|
|
151
|
+
-d, --download scarica gli episodi che preferisci
|
|
152
|
+
-o, --offline apri gli episodi scaricati precedentemente direttamente dal terminale
|
|
153
|
+
-p, --privato guarda un episodio senza che si aggiorni la cronologia o AniList
|
|
154
|
+
-u [UPDATE], --update [UPDATE]
|
|
155
|
+
aggiorna il programma
|
|
156
|
+
|
|
157
|
+
Configurazione:
|
|
158
|
+
-a, --configurazione avvia il menu di configurazione
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Crediti
|
|
162
|
+
Progetto ispirato a <a href="https://github.com/pystardust/ani-cli">ani-cli</a>.
|
|
163
|
+
|
|
164
|
+
Un ringraziamento speciale a <a href="https://github.com/axtrat">axtrat</a> per l'aiuto nella realizzazione del progetto.
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: aw-cli
|
|
3
|
+
Version: 1.8
|
|
4
|
+
Summary: guarda anime dal terminale e molto altro!
|
|
5
|
+
Home-page: https://github.com/fexh10/aw-cli
|
|
6
|
+
Author: fexh10
|
|
7
|
+
License: GPL-3.0
|
|
8
|
+
Requires-Python: >3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Dist: bs4
|
|
12
|
+
Requires-Dist: requests
|
|
13
|
+
Requires-Dist: lxml
|
|
14
|
+
Requires-Dist: pySmartDL
|
|
15
|
+
Requires-Dist: wheel
|
|
16
|
+
Requires-Dist: regex
|
|
17
|
+
|
|
18
|
+
# aw-cli
|
|
19
|
+
<h3 align="center">
|
|
20
|
+
|
|
21
|
+
Guarda anime dal terminale e molto altro!<br /> Gli anime vengono presi da <a href="https://www.animeworld.tv/">AnimeWorld</a>
|
|
22
|
+
|
|
23
|
+
</h3>
|
|
24
|
+
|
|
25
|
+
## Anteprima
|
|
26
|
+
https://user-images.githubusercontent.com/90156014/210212814-e73ba7af-ce12-43ad-95ff-dcd85b39a45c.mp4
|
|
27
|
+
|
|
28
|
+
## Indice
|
|
29
|
+
|
|
30
|
+
- [aw-cli](#aw-cli)
|
|
31
|
+
- [Anteprima](#anteprima)
|
|
32
|
+
- [Indice](#indice)
|
|
33
|
+
- [Installazione](#installazione)
|
|
34
|
+
- [Problemi noti](#problemi-noti)
|
|
35
|
+
- [Disinstallazione](#disinstallazione)
|
|
36
|
+
- [Utilizzo](#utilizzo)
|
|
37
|
+
- [Crediti](#crediti)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Installazione
|
|
41
|
+
|
|
42
|
+
Lo script funziona sia con [MPV](https://mpv.io/installation/) che con [VLC](https://www.videolan.org/vlc/index.it.html). <br />
|
|
43
|
+
|
|
44
|
+
<details><summary><b>Linux, MacOS</b></summary>
|
|
45
|
+
È possibile installare aw-cli da pip:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
python3 -m pip install aw-cli
|
|
49
|
+
```
|
|
50
|
+
</details>
|
|
51
|
+
|
|
52
|
+
<details><summary><b>Windows</b></summary>
|
|
53
|
+
Attualmente, Windows presenta due versioni: la più recente, progettata per funzionare su WSL (Windows Subsystem for Linux), e una versione Legacy compatibile con PowerShell. La versione Legacy non riceverà ulteriori aggiornamenti, mentre l'altra sarà mantenuta costantemente.
|
|
54
|
+
|
|
55
|
+
<br>
|
|
56
|
+
|
|
57
|
+
<details><summary><b>Ultima Versione</b></summary>
|
|
58
|
+
L'ultima versione per Windows richiede installare <a href="https://learn.microsoft.com/it-it/windows/wsl/install">WSL</a>:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
wsl --install
|
|
62
|
+
```
|
|
63
|
+
Per installare MPV su WSL, basta eseguire:
|
|
64
|
+
```
|
|
65
|
+
sudo apt install mpv
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Per VLC:
|
|
69
|
+
```
|
|
70
|
+
sudo apt install vlc
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Il programma dovrà essere installato e avviato da WSL:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
python3 -m pip install aw-cli
|
|
77
|
+
```
|
|
78
|
+
</details>
|
|
79
|
+
<details><summary><b>Versione Legacy</b></summary>
|
|
80
|
+
Per installare la versione Legacy, è necessario avere <a href="https://www.git-scm.com/download/win">git</a>.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
python3 -m pip install git+https://github.com/fexh10/aw-cli.git@winLegacy
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
</details>
|
|
88
|
+
</details>
|
|
89
|
+
|
|
90
|
+
<details><summary><b>Android</b></summary>
|
|
91
|
+
Android richiede l'installazione di <a href="https://github.com/termux/termux-app/releases/tag/v0.118.0">termux</a>. <br>
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
pkg update && pkg upgrade
|
|
95
|
+
pkg install python python-pip libxml2 libxslt pkg-config
|
|
96
|
+
python3 -m pip install aw-cli
|
|
97
|
+
```
|
|
98
|
+
</details>
|
|
99
|
+
|
|
100
|
+
<details><summary><b>iOS</b></summary>
|
|
101
|
+
La versione per iOS richiede <a href="https://apps.apple.com/it/app/ish-shell/id1436902243">iSH</a> e <a href="https://apps.apple.com/it/app/vlc-media-player/id650377962">VLC</a>.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
apk update
|
|
105
|
+
apk upgrade
|
|
106
|
+
apk add python3 python3-dev py3-pip gcc musl-dev git
|
|
107
|
+
python3 -m pip install git+https://github.com/fexh10/aw-cli.git@iosCompatibility
|
|
108
|
+
```
|
|
109
|
+
Nota che la velocità di download e caricamento molto bassa è un problema di iSH e non di aw-cli.
|
|
110
|
+
</details>
|
|
111
|
+
|
|
112
|
+
## Problemi noti
|
|
113
|
+
Se è impossibile avviare `aw-cli`, è possibile che non si abbia la cartella degli script Python aggiunta al path. <br />
|
|
114
|
+
|
|
115
|
+
<details> <summary><b>Linux/Windows WSL</b></summary>
|
|
116
|
+
Aggiungere la seguente linea al file di profilo (.bashrc, .zshrc, o altro):
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
export PATH=$PATH:$HOME/.local/bin
|
|
120
|
+
```
|
|
121
|
+
Riavviare il terminale o eseguire `source ~/.bashrc`.
|
|
122
|
+
|
|
123
|
+
</details>
|
|
124
|
+
|
|
125
|
+
<details> <summary><b>MacOS</b></summary>
|
|
126
|
+
Aggiungere la seguente linea al file di profilo (.bashrc, .zshrc, o altro):
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
export PATH=$PATH:$HOME/Library/Python/3.x/bin
|
|
130
|
+
```
|
|
131
|
+
Sostituire `3.x` con la propria versione di Python. <br>
|
|
132
|
+
Riavviare il terminale o eseguire `source ~/.bashrc`.
|
|
133
|
+
</details>
|
|
134
|
+
|
|
135
|
+
<details> <summary><b>Windows Legacy</b></summary>
|
|
136
|
+
Inserire da linea di comando:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
setx PATH "%PATH%;%APPDATA%\Local\Programs\Python\Python3x\Scripts
|
|
140
|
+
```
|
|
141
|
+
Sostituire `3.x` con la propria versione di Python. <br/>
|
|
142
|
+
Se necessario, riavviare il sistema.
|
|
143
|
+
</details>
|
|
144
|
+
|
|
145
|
+
## Disinstallazione
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
python3 -m pip uninstall aw-cli
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Utilizzo
|
|
152
|
+
```
|
|
153
|
+
usage: aw-cli [-h] [-v] [-c [{r}]] [-l [{a,s,d,t}]] [-i] [-s] [-d] [-o] [-p] [-u [UPDATE]] [-a]
|
|
154
|
+
|
|
155
|
+
Guarda anime dal terminale e molto altro!
|
|
156
|
+
|
|
157
|
+
Informazioni:
|
|
158
|
+
-h, --help mostra questo messaggio
|
|
159
|
+
-v, --versione stampa la versione del programma
|
|
160
|
+
|
|
161
|
+
Opzioni:
|
|
162
|
+
-c [{r}], --cronologia [{r}]
|
|
163
|
+
continua a guardare un anime dalla cronologia. 'r' per rimuovere un anime (opzionale)
|
|
164
|
+
-l [{a,s,d,t}], --lista [{a,s,d,t}]
|
|
165
|
+
lista degli ultimi anime usciti su AnimeWorld. a = all, s = sub, d = dub, t = tendenze. Default 'a'
|
|
166
|
+
-i, --info visualizza le informazioni e la trama di un anime
|
|
167
|
+
-s, --syncplay usa syncplay per guardare un anime insieme ai tuoi amici
|
|
168
|
+
-d, --download scarica gli episodi che preferisci
|
|
169
|
+
-o, --offline apri gli episodi scaricati precedentemente direttamente dal terminale
|
|
170
|
+
-p, --privato guarda un episodio senza che si aggiorni la cronologia o AniList
|
|
171
|
+
-u [UPDATE], --update [UPDATE]
|
|
172
|
+
aggiorna il programma
|
|
173
|
+
|
|
174
|
+
Configurazione:
|
|
175
|
+
-a, --configurazione avvia il menu di configurazione
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Crediti
|
|
179
|
+
Progetto ispirato a <a href="https://github.com/pystardust/ani-cli">ani-cli</a>.
|
|
180
|
+
|
|
181
|
+
Un ringraziamento speciale a <a href="https://github.com/axtrat">axtrat</a> per l'aiuto nella realizzazione del progetto.
|
|
@@ -8,7 +8,12 @@ aw_cli.egg-info/entry_points.txt
|
|
|
8
8
|
aw_cli.egg-info/requires.txt
|
|
9
9
|
aw_cli.egg-info/top_level.txt
|
|
10
10
|
awcli/__init__.py
|
|
11
|
+
awcli/anilist.py
|
|
12
|
+
awcli/anime.py
|
|
13
|
+
awcli/arg_parser.py
|
|
11
14
|
awcli/run.py
|
|
12
15
|
awcli/utilities.py
|
|
16
|
+
awcli/version.py
|
|
17
|
+
tests/test_anime.py
|
|
13
18
|
tests/test_run.py
|
|
14
19
|
tests/test_utilities.py
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import requests
|
|
2
|
+
|
|
3
|
+
tokenAnilist = "tokenAnilist: False"
|
|
4
|
+
user_id = 0
|
|
5
|
+
ratingAnilist = False
|
|
6
|
+
preferitoAnilist = False
|
|
7
|
+
dropAnilist = False
|
|
8
|
+
|
|
9
|
+
class TokenError(Exception):
|
|
10
|
+
pass
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def addToAnilistFavourite(id_anilist: int, ep: int, voto: float):
|
|
14
|
+
"""
|
|
15
|
+
Collegamento alle API di AniList per aggiornare
|
|
16
|
+
automaticamente gli anime.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
id_anilist (int): l'id dell'anime su AniList.
|
|
20
|
+
ep (int): il numero dell'episodio visualizzato.
|
|
21
|
+
voto (float): il voto dell'anime.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
query = """
|
|
25
|
+
mutation ($idAnime: Int, $status: MediaListStatus, $episodio : Int, $score: Float) {
|
|
26
|
+
SaveMediaListEntry (mediaId: $idAnime, status: $status, progress : $episodio, score: $score) {
|
|
27
|
+
status
|
|
28
|
+
progress
|
|
29
|
+
score
|
|
30
|
+
},
|
|
31
|
+
ToggleFavourite(animeId:$idAnime){
|
|
32
|
+
anime {
|
|
33
|
+
nodes {
|
|
34
|
+
id
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
var = {
|
|
42
|
+
"idAnime": id_anilist,
|
|
43
|
+
"status": "COMPLETED",
|
|
44
|
+
"episodio": ep,
|
|
45
|
+
"score": voto
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
requestModifyAnilist(query, var)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def addToAnilist(id_anilist: int, ep: int, status_list: str, voto: float) -> None:
|
|
52
|
+
"""
|
|
53
|
+
Collegamento alle API di AniList per aggiornare
|
|
54
|
+
automaticamente gli anime.
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
id_anilist (int): l'id dell'anime su AniList.
|
|
58
|
+
ep (int): il numero dell'episodio visualizzato.
|
|
59
|
+
voto (float): il voto dell'anime.
|
|
60
|
+
status_list (str): lo stato dell'anime per l'utente. Se è in corso verrà impostato su "CURRENT", se completato su "COMPLETED".
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
query = """
|
|
64
|
+
mutation ($idAnime: Int, $status: MediaListStatus, $episodio : Int, $score: Float) {
|
|
65
|
+
SaveMediaListEntry (mediaId: $idAnime, status: $status, progress : $episodio, score: $score) {
|
|
66
|
+
status
|
|
67
|
+
progress
|
|
68
|
+
score
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
var = {
|
|
74
|
+
"idAnime": id_anilist,
|
|
75
|
+
"status": status_list,
|
|
76
|
+
"episodio": ep,
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if voto != 0:
|
|
80
|
+
var["score"] = voto
|
|
81
|
+
|
|
82
|
+
requestModifyAnilist(query, var)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def getAnilistUserId() -> int:
|
|
86
|
+
"""
|
|
87
|
+
Collegamento alle API di AniList per trovare
|
|
88
|
+
l'id dell'utente in base al token AniList dell'utente.
|
|
89
|
+
|
|
90
|
+
Returns:
|
|
91
|
+
int: l'id dell'utente.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
query = """
|
|
95
|
+
query {
|
|
96
|
+
Viewer {
|
|
97
|
+
id
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
header_anilist = {'Authorization': 'Bearer ' + tokenAnilist, 'Content-Type': 'application/json', 'Accept': 'application/json'}
|
|
103
|
+
risposta = requests.post('https://graphql.anilist.co',headers=header_anilist,json={'query' : query})
|
|
104
|
+
if risposta.status_code != 200:
|
|
105
|
+
raise TokenError("Errore: Token AniList sbagliato")
|
|
106
|
+
|
|
107
|
+
user_id = int(risposta.json()["data"]["Viewer"]["id"])
|
|
108
|
+
|
|
109
|
+
return user_id
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def getAnimePrivateRating(id_anime: int) -> int:
|
|
113
|
+
"""
|
|
114
|
+
Collegamento alle API di AniList per trovare
|
|
115
|
+
il voto dato all'anime dall'utente.
|
|
116
|
+
|
|
117
|
+
Args:
|
|
118
|
+
id_anime (int): l'id dell'anime su Anilist.
|
|
119
|
+
|
|
120
|
+
Returns:
|
|
121
|
+
int: il voto dell'utente.
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
query = """
|
|
125
|
+
query ($idAnime: Int, $userId: Int) {
|
|
126
|
+
MediaList(userId: $userId, mediaId: $idAnime) {
|
|
127
|
+
score
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
"""
|
|
131
|
+
var = {
|
|
132
|
+
"idAnime": id_anime,
|
|
133
|
+
"userId": user_id
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
header_anilist = {
|
|
137
|
+
'Authorization': 'Bearer ' + tokenAnilist,
|
|
138
|
+
'Content-Type': 'application/json', 'Accept': 'application/json'
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
risposta = requests.post('https://graphql.anilist.co',headers=header_anilist, json={'query': query, 'variables': var})
|
|
142
|
+
if risposta.status_code != 200:
|
|
143
|
+
return 0
|
|
144
|
+
|
|
145
|
+
return str(risposta.json()["data"]["MediaList"]["score"])
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def requestModifyAnilist(query: str, var: dict):
|
|
149
|
+
"""
|
|
150
|
+
Request alle API di Anilist.
|
|
151
|
+
Se la richiesta non va a buon fine, viene stampato un errore.
|
|
152
|
+
|
|
153
|
+
Args:
|
|
154
|
+
query (str): la stringa che contiene la query.
|
|
155
|
+
var (dict): dizionario che contiene le variabili da passare alla query.
|
|
156
|
+
"""
|
|
157
|
+
|
|
158
|
+
header_anilist = {'Authorization': 'Bearer ' + tokenAnilist, 'Content-Type': 'application/json', 'Accept': 'application/json'}
|
|
159
|
+
risposta = requests.post('https://graphql.anilist.co',headers=header_anilist,json={'query' : query, 'variables' : var})
|
|
160
|
+
|
|
161
|
+
if risposta.status_code != 200:
|
|
162
|
+
print("Impossibile aggiornare AniList!")
|