ani-cli-npm 2.0.5 → 2.0.7
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.
- package/bin/Anime.js +14 -3
- package/bin/index.js +6 -4
- package/bin/input.js +9 -4
- package/package.json +1 -1
- package/naruto-dub-1.m3u8 +0 -9
- package/naruto-dub-2.m3u8 +0 -9
- package/naruto-dub-3.m3u8 +0 -9
package/bin/Anime.js
CHANGED
@@ -22,6 +22,7 @@ class Anime {
|
|
22
22
|
*/
|
23
23
|
id = "";
|
24
24
|
episode_list = [];
|
25
|
+
most_recent = 0;
|
25
26
|
player = 0;
|
26
27
|
async init(anime_id, cache_folder) {
|
27
28
|
/*
|
@@ -42,11 +43,15 @@ class Anime {
|
|
42
43
|
else {
|
43
44
|
try {
|
44
45
|
this.episode_list = cache_object.episode_list;
|
46
|
+
if (cache_object.most_recent != undefined) {
|
47
|
+
this.most_recent = cache_object.most_recent;
|
48
|
+
}
|
45
49
|
}
|
46
50
|
catch {
|
47
51
|
await this.get_ep_bases(this.id);
|
48
52
|
}
|
49
53
|
}
|
54
|
+
(0, cache_1.new_cache)(cache_folder, this);
|
50
55
|
return 0;
|
51
56
|
}
|
52
57
|
async get_episode_link(episode, player = "VLC") {
|
@@ -81,7 +86,9 @@ class Anime {
|
|
81
86
|
lines = "{" + lines.slice(lines.indexOf(",") + 1, lines.length) + "}";
|
82
87
|
let json = JSON.parse(lines);
|
83
88
|
for (const value of Object.entries(json)) {
|
84
|
-
|
89
|
+
if (typeof value[1] == "string") {
|
90
|
+
this.episode_list.push(value[1]);
|
91
|
+
}
|
85
92
|
}
|
86
93
|
}
|
87
94
|
async play_head(episode, config, config_dir) {
|
@@ -139,6 +146,8 @@ class Anime {
|
|
139
146
|
}
|
140
147
|
config.most_recent.anime_id = this.id;
|
141
148
|
config.most_recent.episode_number = episode;
|
149
|
+
this.most_recent = episode;
|
150
|
+
(0, cache_1.new_cache)(config_dir, this);
|
142
151
|
(0, load_config_1.write_config)(config_dir, config);
|
143
152
|
if (episode <= 0) {
|
144
153
|
switch (await (0, input_1.selection)([
|
@@ -152,7 +161,7 @@ class Anime {
|
|
152
161
|
break;
|
153
162
|
}
|
154
163
|
}
|
155
|
-
else if (episode >= this.episode_list.length -
|
164
|
+
else if (episode >= this.episode_list.length - 2) {
|
156
165
|
switch (await (0, input_1.selection)([
|
157
166
|
"Previous",
|
158
167
|
"Quit"
|
@@ -213,6 +222,8 @@ class Anime {
|
|
213
222
|
config.most_recent.anime_id = this.id;
|
214
223
|
config.most_recent.episode_number = episode;
|
215
224
|
(0, load_config_1.write_config)(config_dir, config);
|
225
|
+
this.most_recent = episode;
|
226
|
+
(0, cache_1.new_cache)(config_dir, this);
|
216
227
|
if (episode <= 0) {
|
217
228
|
switch (await (0, input_1.selection)([
|
218
229
|
"Next",
|
@@ -225,7 +236,7 @@ class Anime {
|
|
225
236
|
break;
|
226
237
|
}
|
227
238
|
}
|
228
|
-
else if (episode >= this.episode_list.length -
|
239
|
+
else if (episode >= this.episode_list.length - 2) {
|
229
240
|
switch (await (0, input_1.selection)([
|
230
241
|
"Previous",
|
231
242
|
"Quit"
|
package/bin/index.js
CHANGED
@@ -48,11 +48,13 @@ async function main() {
|
|
48
48
|
episode_number = 0;
|
49
49
|
}
|
50
50
|
else {
|
51
|
-
console.log(`Select episode [1-${anime.episode_list.length}]`);
|
52
|
-
episode_number = await (0, input_1.number_input)(anime.episode_list.length)
|
51
|
+
console.log(`Select episode [1-${anime.episode_list.length}] ${(anime.most_recent != 0) ? `Or C to continue from ep${anime.most_recent + 1}` : ""}`);
|
52
|
+
episode_number = await (0, input_1.number_input)(anime.episode_list.length, 1, (anime.most_recent != 0) ? ["c"] : [], (anime.most_recent != 0) ? [anime.most_recent + 1] : []);
|
53
|
+
}
|
54
|
+
await anime.play_head(episode_number - 1, config, cache_folder);
|
55
|
+
if (anime.player != 1 && anime.player != 0) {
|
56
|
+
await anime.player.quit();
|
53
57
|
}
|
54
|
-
await anime.play_head(episode_number, config, cache_folder);
|
55
|
-
await anime.player.quit();
|
56
58
|
await main();
|
57
59
|
break;
|
58
60
|
case 1: // Continue
|
package/bin/input.js
CHANGED
@@ -30,12 +30,12 @@ async function selection(options, extra_options = [], color1 = ((thing) => { ret
|
|
30
30
|
if (color) {
|
31
31
|
console.log(color1((parseInt(x) + 1).toString() +
|
32
32
|
((extra_options[x] == undefined) ? "" : "/" + extra_options[x]) +
|
33
|
-
") " + options[x]));
|
33
|
+
") " + options[x].replaceAll("-", " ")));
|
34
34
|
}
|
35
35
|
else {
|
36
36
|
console.log(color2((parseInt(x) + 1).toString() +
|
37
37
|
((extra_options[x] == undefined) ? "" : "/" + extra_options[x]) +
|
38
|
-
") " + options[x]));
|
38
|
+
") " + options[x].replaceAll("-", " ")));
|
39
39
|
}
|
40
40
|
color = !color;
|
41
41
|
}
|
@@ -59,12 +59,17 @@ async function input() {
|
|
59
59
|
return await _prompt(">");
|
60
60
|
}
|
61
61
|
exports.input = input;
|
62
|
-
async function number_input(max, min = 1) {
|
62
|
+
async function number_input(max, min = 1, extra_options = [], extra_option_values = []) {
|
63
63
|
let selector;
|
64
64
|
let selection;
|
65
65
|
do {
|
66
66
|
selector = await _prompt(">");
|
67
|
-
|
67
|
+
if (extra_options.includes(selector.toLowerCase())) {
|
68
|
+
selection = extra_option_values[extra_options.indexOf(selector)];
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
selection = parseInt(selector);
|
72
|
+
}
|
68
73
|
if (selector == "") {
|
69
74
|
selection = min;
|
70
75
|
}
|
package/package.json
CHANGED
package/naruto-dub-1.m3u8
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
#EXTM3U
|
2
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=120532,RESOLUTION=640x360,NAME="360p"
|
3
|
-
ep.1.1657688701.360.m3u8
|
4
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=195379,RESOLUTION=854x480,NAME="480p"
|
5
|
-
ep.1.1657688701.480.m3u8
|
6
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=418741,RESOLUTION=1280x720,NAME="720p"
|
7
|
-
ep.1.1657688701.720.m3u8
|
8
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=903363,RESOLUTION=1920x1080,NAME="1080p"
|
9
|
-
ep.1.1657688701.1080.m3u8
|
package/naruto-dub-2.m3u8
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
#EXTM3U
|
2
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=112046,RESOLUTION=640x360,NAME="360p"
|
3
|
-
ep.2.1657689264.360.m3u8
|
4
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=180246,RESOLUTION=854x480,NAME="480p"
|
5
|
-
ep.2.1657689264.480.m3u8
|
6
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=382280,RESOLUTION=1280x720,NAME="720p"
|
7
|
-
ep.2.1657689264.720.m3u8
|
8
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=829748,RESOLUTION=1920x1080,NAME="1080p"
|
9
|
-
ep.2.1657689264.1080.m3u8
|
package/naruto-dub-3.m3u8
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
#EXTM3U
|
2
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=113161,RESOLUTION=640x360,NAME="360p"
|
3
|
-
ep.3.1657689714.360.m3u8
|
4
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=177223,RESOLUTION=854x480,NAME="480p"
|
5
|
-
ep.3.1657689714.480.m3u8
|
6
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=372889,RESOLUTION=1280x720,NAME="720p"
|
7
|
-
ep.3.1657689714.720.m3u8
|
8
|
-
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=798185,RESOLUTION=1920x1080,NAME="1080p"
|
9
|
-
ep.3.1657689714.1080.m3u8
|