-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathaddon.js
52 lines (42 loc) · 1.68 KB
/
addon.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const { addonBuilder } = require("stremio-addon-sdk");
const himovies = require("./himovies");
// Docs: https://github.com/Stremio/stremio-addon-sdk/blob/master/docs/api/responses/manifest.md
const manifest = require("./manifest");
const builder = new addonBuilder(manifest)
builder.defineStreamHandler((args) => {
console.log("addon.js streams:", args);
if (args.id.startsWith("Hmovies_id:")) {
return Promise.resolve(himovies.stream(args.type, args.id))
.then((streams) => ({ streams: streams }));
//.then((streams) => { console.log('streams', streams)});
} else {
console.log('stream reject');
return Promise.resolve({ streams: [] });
}
});
builder.defineCatalogHandler((args) => {
console.log('test');
console.log("addon.js Catalog:", args);
if(args.id.startsWith("Hmovies-") || args.id.startsWith("Hseries-")) {
return Promise.resolve(himovies.catalog(args.type, args.id,args.extra.skip))
//.then((metas) => { console.log('metas', metas) });
.then((metas) => ({ metas: metas }));
}else if (args.extra.search) {
return Promise.resolve(himovies.search(args.type, args.extra.search,args.extra.skip))
//.then((metas) => { console.log('metas', metas) });
.then((metas) => ({ metas: metas }));
} else return Promise.resolve({ metas: [] });
});
builder.defineMetaHandler((args) => {
console.log("addon.js meta:", args);
if (args.id.startsWith("Hmovies_id:")) {
//console.log('meta mycima');
return Promise.resolve(himovies.meta(args.type, args.id))
//.then((metas) => { console.log('metas', metas)});
.then((meta) => ({ meta: meta }));
} else {
console.log('meta reject');
return Promise.resolve({ meta: [] });
}
});
module.exports = builder.getInterface()