oblecto 0.2.8 → 0.3.1

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.
Files changed (167) hide show
  1. package/Oblecto-Web/dist/web/index.html +24 -3
  2. package/Oblecto-Web/dist/web/static/index-C-JsqHHk.css +1 -0
  3. package/Oblecto-Web/dist/web/static/index-DSZgpOOu.js +576 -0
  4. package/README.md +43 -7
  5. package/dist/bin/oblecto.js +12468 -61
  6. package/dist/index.js +10676 -6
  7. package/package.json +68 -36
  8. package/res/AGENTS.md +8 -0
  9. package/res/config.json +34 -7
  10. package/Oblecto-Web/LICENSE +0 -674
  11. package/Oblecto-Web/README.md +0 -20
  12. package/Oblecto-Web/dist/web/static/css/app.921835f8c2878caee6d1085d9982fa86.css +0 -1
  13. package/Oblecto-Web/dist/web/static/css/app.921835f8c2878caee6d1085d9982fa86.css.map +0 -1
  14. package/Oblecto-Web/dist/web/static/js/app.758b833f6395444695b6.js +0 -6896
  15. package/Oblecto-Web/dist/web/static/js/app.758b833f6395444695b6.js.map +0 -1
  16. package/Oblecto-Web/dist/web/static/js/manifest.d327d604ee57c29a75d0.js +0 -154
  17. package/Oblecto-Web/dist/web/static/js/manifest.d327d604ee57c29a75d0.js.map +0 -1
  18. package/Oblecto-Web/dist/web/static/js/vendor.84f1e8002f100f63d6ef.js +0 -32455
  19. package/Oblecto-Web/dist/web/static/js/vendor.84f1e8002f100f63d6ef.js.map +0 -1
  20. package/Oblecto-Web/package.json +0 -118
  21. package/dist/bin/cliManager.js +0 -102
  22. package/dist/bin/scripts/adduser.js +0 -50
  23. package/dist/bin/scripts/changepassword.js +0 -48
  24. package/dist/bin/scripts/deluser.js +0 -34
  25. package/dist/bin/scripts/helpers/argumentError.js +0 -12
  26. package/dist/bin/scripts/helpers/generateAssetDirectories.js +0 -37
  27. package/dist/bin/scripts/init/assets.js +0 -24
  28. package/dist/bin/scripts/init/database.js +0 -21
  29. package/dist/bin/scripts/init/general.js +0 -54
  30. package/dist/bin/scripts/init/index.js +0 -26
  31. package/dist/bin/scripts/removepassword.js +0 -42
  32. package/dist/config.js +0 -45
  33. package/dist/core/graphical.js +0 -179
  34. package/dist/core/index.js +0 -24
  35. package/dist/lib/artwork/ArtworkScaler.js +0 -31
  36. package/dist/lib/artwork/ArtworkUtils.js +0 -35
  37. package/dist/lib/artwork/movies/AggregateMovieArtworkRetriever.js +0 -58
  38. package/dist/lib/artwork/movies/MovieArtworkCollector.js +0 -93
  39. package/dist/lib/artwork/movies/MovieArtworkDownloader.js +0 -65
  40. package/dist/lib/artwork/movies/artworkRetrievers/FanarttvMovieArtworkRetriever.js +0 -57
  41. package/dist/lib/artwork/movies/artworkRetrievers/TmdbMovieArtworkRetriever.js +0 -47
  42. package/dist/lib/artwork/series/AggregateSeriesArtworkRetriever.js +0 -58
  43. package/dist/lib/artwork/series/SeriesArtworkCollector.js +0 -95
  44. package/dist/lib/artwork/series/SeriesArtworkDownloader.js +0 -62
  45. package/dist/lib/artwork/series/artworkRetrievers/FanarttvSeriesArtworkRetriever.js +0 -44
  46. package/dist/lib/artwork/series/artworkRetrievers/TmdbSeriesArtworkRetriever.js +0 -64
  47. package/dist/lib/artwork/series/artworkRetrievers/TvdbSeriesArtworkRetriever.js +0 -51
  48. package/dist/lib/cleaners/FileCleaner.js +0 -56
  49. package/dist/lib/cleaners/MovieCleaner.js +0 -42
  50. package/dist/lib/cleaners/SeriesCleaner.js +0 -70
  51. package/dist/lib/common/AggregateIdentifier.js +0 -53
  52. package/dist/lib/common/AggregateUpdateRetriever.js +0 -43
  53. package/dist/lib/downloader/index.js +0 -59
  54. package/dist/lib/errors/DebugExtendableError.js +0 -20
  55. package/dist/lib/errors/ExtendableError.js +0 -22
  56. package/dist/lib/errors/FileExistsError.js +0 -14
  57. package/dist/lib/errors/IdentificationError.js +0 -14
  58. package/dist/lib/errors/InfoExtendableError.js +0 -20
  59. package/dist/lib/errors/VideoAnalysisError.js +0 -14
  60. package/dist/lib/errors/VideoIdentificationError.js +0 -14
  61. package/dist/lib/errors/WarnExtendableError.js +0 -20
  62. package/dist/lib/federation/client/FederationClient.js +0 -127
  63. package/dist/lib/federation/client/FederationClientController.js +0 -45
  64. package/dist/lib/federation/client/FederationDataClient.js +0 -56
  65. package/dist/lib/federation/client/FederationMediaClient.js +0 -70
  66. package/dist/lib/federation/server/FederationController.js +0 -32
  67. package/dist/lib/federation/server/FederationDataServer.js +0 -22
  68. package/dist/lib/federation/server/FederationDataServerConnection.js +0 -96
  69. package/dist/lib/federation/server/FederationMediaServer.js +0 -22
  70. package/dist/lib/federation/server/FederationMediaServerConnection.js +0 -83
  71. package/dist/lib/federation/server/FederationServer.js +0 -40
  72. package/dist/lib/federation/server/FederationServerConnection.js +0 -97
  73. package/dist/lib/federationindexer/FederationEpisodeIndexer.js +0 -65
  74. package/dist/lib/federationindexer/FederationMovieIndexer.js +0 -48
  75. package/dist/lib/indexers/MediaIdentifier.js +0 -15
  76. package/dist/lib/indexers/files/FileIndexer.js +0 -103
  77. package/dist/lib/indexers/files/cleaner.js +0 -43
  78. package/dist/lib/indexers/movies/AggregateMovieIdentifier.js +0 -45
  79. package/dist/lib/indexers/movies/MovieCollector.js +0 -65
  80. package/dist/lib/indexers/movies/MovieIdentifier.js +0 -22
  81. package/dist/lib/indexers/movies/MovieIndexer.js +0 -47
  82. package/dist/lib/indexers/movies/identifiers/TmdbMovieidentifier.js +0 -50
  83. package/dist/lib/indexers/series/AggregateEpisodeIdentifier.js +0 -46
  84. package/dist/lib/indexers/series/AggregateSeriesIdentifier.js +0 -46
  85. package/dist/lib/indexers/series/EpisodeIdentifier.js +0 -24
  86. package/dist/lib/indexers/series/SeriesCollector.js +0 -65
  87. package/dist/lib/indexers/series/SeriesIdentifer.js +0 -23
  88. package/dist/lib/indexers/series/SeriesIndexer.js +0 -134
  89. package/dist/lib/indexers/series/identifiers/TmdbEpisodeIdentifier.js +0 -38
  90. package/dist/lib/indexers/series/identifiers/TmdbSeriesIdentifier.js +0 -66
  91. package/dist/lib/indexers/series/identifiers/TvdbEpisodeIdentifier.js +0 -71
  92. package/dist/lib/indexers/series/identifiers/TvdbSeriesIdentifier.js +0 -82
  93. package/dist/lib/oblecto/index.js +0 -125
  94. package/dist/lib/queue/index.js +0 -82
  95. package/dist/lib/realtime/RealtimeClient.js +0 -137
  96. package/dist/lib/realtime/RealtimeController.js +0 -50
  97. package/dist/lib/sets/tv/MovieSetCollector.js +0 -49
  98. package/dist/lib/streamSessions/StreamSession.js +0 -148
  99. package/dist/lib/streamSessions/StreamSessionController.js +0 -78
  100. package/dist/lib/streamSessions/StreamSessionTypes/DirectHttpStreamSession.js +0 -105
  101. package/dist/lib/streamSessions/StreamSessionTypes/DirectStreamSession.js +0 -47
  102. package/dist/lib/streamSessions/StreamSessionTypes/HLSStreamer.js +0 -126
  103. package/dist/lib/streamSessions/StreamSessionTypes/RecodeFederationStreamSession.js +0 -72
  104. package/dist/lib/streamSessions/StreamSessionTypes/RecodeStreamSession.js +0 -65
  105. package/dist/lib/updaters/files/FileUpdateCollector.js +0 -44
  106. package/dist/lib/updaters/files/FileUpdater.js +0 -194
  107. package/dist/lib/updaters/movies/AggregateMovieUpdateRetriever.js +0 -44
  108. package/dist/lib/updaters/movies/MovieUpdateCollector.js +0 -48
  109. package/dist/lib/updaters/movies/MovieUpdater.js +0 -38
  110. package/dist/lib/updaters/movies/informationRetrievers/TmdbMovieRetriever.js +0 -42
  111. package/dist/lib/updaters/series/AggregateEpisodeUpdateRetriever.js +0 -41
  112. package/dist/lib/updaters/series/AggregateSeriesUpdateRetriever.js +0 -44
  113. package/dist/lib/updaters/series/SeriesUpdateCollector.js +0 -79
  114. package/dist/lib/updaters/series/SeriesUpdater.js +0 -84
  115. package/dist/lib/updaters/series/informationRetrievers/TmdbEpisodeRetriever.js +0 -66
  116. package/dist/lib/updaters/series/informationRetrievers/TmdbSeriesRetriever.js +0 -63
  117. package/dist/lib/updaters/series/informationRetrievers/TvdbEpisodeRetriever.js +0 -38
  118. package/dist/lib/updaters/series/informationRetrievers/TvdbSeriesRetriever.js +0 -50
  119. package/dist/models/episode.js +0 -62
  120. package/dist/models/episodeFiles.js +0 -14
  121. package/dist/models/file.js +0 -32
  122. package/dist/models/movie.js +0 -35
  123. package/dist/models/movieFiles.js +0 -14
  124. package/dist/models/movieSet.js +0 -26
  125. package/dist/models/series.js +0 -55
  126. package/dist/models/seriesSet.js +0 -17
  127. package/dist/models/stream.js +0 -81
  128. package/dist/models/trackEpisode.js +0 -17
  129. package/dist/models/trackEpisodes.js +0 -8
  130. package/dist/models/trackMovie.js +0 -17
  131. package/dist/models/trackMovies.js +0 -8
  132. package/dist/models/tvshow.js +0 -46
  133. package/dist/models/tvshowSet.js +0 -8
  134. package/dist/models/user.js +0 -26
  135. package/dist/submodules/REST/index.js +0 -59
  136. package/dist/submodules/REST/middleware/auth.js +0 -28
  137. package/dist/submodules/REST/routes/auth.js +0 -48
  138. package/dist/submodules/REST/routes/clients.js +0 -54
  139. package/dist/submodules/REST/routes/episodes.js +0 -275
  140. package/dist/submodules/REST/routes/files.js +0 -92
  141. package/dist/submodules/REST/routes/index.js +0 -48
  142. package/dist/submodules/REST/routes/movies.js +0 -305
  143. package/dist/submodules/REST/routes/sets.js +0 -35
  144. package/dist/submodules/REST/routes/settings/index.js +0 -22
  145. package/dist/submodules/REST/routes/settings/maintenance.js +0 -87
  146. package/dist/submodules/REST/routes/settings/misc.js +0 -38
  147. package/dist/submodules/REST/routes/settings/sources.js +0 -61
  148. package/dist/submodules/REST/routes/tvshows.js +0 -140
  149. package/dist/submodules/REST/routes/users.js +0 -107
  150. package/dist/submodules/REST/routes/web.js +0 -43
  151. package/dist/submodules/axiosTimeout.js +0 -30
  152. package/dist/submodules/database.js +0 -180
  153. package/dist/submodules/ffmpeg.js +0 -23
  154. package/dist/submodules/ffprobe.js +0 -22
  155. package/dist/submodules/guessit.js +0 -48
  156. package/dist/submodules/handlers/DirectStreamer.js +0 -68
  157. package/dist/submodules/handlers/FFMPEGHandlers/DvdStreamer.js +0 -52
  158. package/dist/submodules/handlers/FFMPEGHandlers/RemuxStreamer.js +0 -33
  159. package/dist/submodules/handlers/FFMPEGHandlers/TranscodeStreamer.js +0 -33
  160. package/dist/submodules/handlers/FFMPEGStreamer.js +0 -56
  161. package/dist/submodules/handlers/FederationStreamer.js +0 -23
  162. package/dist/submodules/handlers/HLSSessionHandler.js +0 -141
  163. package/dist/submodules/logger/index.js +0 -43
  164. package/dist/submodules/promiseTimeout.js +0 -28
  165. package/dist/submodules/zeroconf.js +0 -19
  166. package/dist/transcoders/dvd.js +0 -26
  167. package/dist/transcoders/index.js +0 -42
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- class AggregateEpisodeUpdateRetriever {
9
- constructor() {
10
- this.retrievers = [];
11
- }
12
-
13
- loadRetriever(retriever) {
14
- this.retrievers.push(retriever);
15
- }
16
-
17
- async retrieveEpisodeInformation(episode) {
18
- let information = {};
19
-
20
- for (let retriever of this.retrievers) {
21
- let currentInformation;
22
-
23
- try {
24
- currentInformation = await retriever.retrieveEpisodeInformation(episode);
25
- } catch (e) {
26
- console.log(e);
27
- continue;
28
- }
29
-
30
- information = { ...information,
31
- ...currentInformation
32
- };
33
- }
34
-
35
- if (Object.keys(information).length === 0) throw new Error();
36
- return information;
37
- }
38
-
39
- }
40
-
41
- exports.default = AggregateEpisodeUpdateRetriever;
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _IdentificationError = _interopRequireDefault(require("../../errors/IdentificationError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class AggregateSeriesUpdateRetriever {
13
- constructor() {
14
- this.retrievers = [];
15
- }
16
-
17
- loadRetriever(retriever) {
18
- this.retrievers.push(retriever);
19
- }
20
-
21
- async retrieveSeriesInformation(series) {
22
- let information = {};
23
-
24
- for (let retriever of this.retrievers) {
25
- let currentInformation;
26
-
27
- try {
28
- currentInformation = await retriever.retrieveSeriesInformation(series);
29
- } catch (e) {
30
- continue;
31
- }
32
-
33
- information = { ...information,
34
- ...currentInformation
35
- };
36
- }
37
-
38
- if (Object.keys(information).length === 0) throw new Error();
39
- return information;
40
- }
41
-
42
- }
43
-
44
- exports.default = AggregateSeriesUpdateRetriever;
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _series = require("../../../models/series");
9
-
10
- var _episode = require("../../../models/episode");
11
-
12
- class SeriesUpdateCollector {
13
- /**
14
- *
15
- * @param {Oblecto} oblecto
16
- */
17
- constructor(oblecto) {
18
- this.oblecto = oblecto;
19
- }
20
- /**
21
- *
22
- * @param {Episode} episode - Episode for which to download the episode banner for
23
- * @returns {Promise<void>}
24
- */
25
-
26
-
27
- async collectEpisode(episode) {
28
- this.oblecto.queue.queueJob('updateEpisode', episode);
29
- }
30
- /**
31
- *
32
- * @param {Series} series - Series for which to download the series poster for
33
- * @returns {Promise<void>}
34
- */
35
-
36
-
37
- async collectSeries(series) {
38
- this.oblecto.queue.queueJob('updateSeries', series);
39
- }
40
- /**
41
- *
42
- * @returns {Promise<void>}
43
- */
44
-
45
-
46
- async collectAllEpisodes() {
47
- let episodes = await _episode.Episode.findAll();
48
-
49
- for (let episode of episodes) {
50
- await this.collectEpisode(episode);
51
- }
52
- }
53
- /**
54
- *
55
- * @returns {Promise<void>}
56
- */
57
-
58
-
59
- async collectAllSeries() {
60
- let all = await _series.Series.findAll();
61
-
62
- for (let series of all) {
63
- await this.collectSeries(series);
64
- }
65
- }
66
- /**
67
- *
68
- * @returns {Promise<void>}
69
- */
70
-
71
-
72
- async collectAll() {
73
- await this.collectAllEpisodes();
74
- await this.collectAllSeries();
75
- }
76
-
77
- }
78
-
79
- exports.default = SeriesUpdateCollector;
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _AggregateUpdateRetriever = _interopRequireDefault(require("../../common/AggregateUpdateRetriever"));
9
-
10
- var _TmdbSeriesRetriever = _interopRequireDefault(require("./informationRetrievers/TmdbSeriesRetriever"));
11
-
12
- var _TmdbEpisodeRetriever = _interopRequireDefault(require("./informationRetrievers/TmdbEpisodeRetriever"));
13
-
14
- var _TvdbEpisodeRetriever = _interopRequireDefault(require("./informationRetrievers/TvdbEpisodeRetriever"));
15
-
16
- var _logger = _interopRequireDefault(require("../../../submodules/logger"));
17
-
18
- var _TvdbSeriesRetriever = _interopRequireDefault(require("./informationRetrievers/TvdbSeriesRetriever"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- class SeriesUpdater {
23
- /**
24
- * @param {Oblecto} oblecto
25
- */
26
- constructor(oblecto) {
27
- this.oblecto = oblecto;
28
- this.aggregateSeriesUpdateRetriever = new _AggregateUpdateRetriever.default();
29
- this.aggregateEpisodeUpdaterRetriever = new _AggregateUpdateRetriever.default();
30
- const seriesUpdateRetrievers = {
31
- 'tmdb': _TmdbSeriesRetriever.default,
32
- 'tvdb': _TvdbSeriesRetriever.default
33
- };
34
- const episodeUpdateRetrievers = {
35
- 'tmdb': _TmdbEpisodeRetriever.default,
36
- 'tvdb': _TvdbEpisodeRetriever.default
37
- };
38
-
39
- for (let updater of this.oblecto.config.tvshows.seriesUpdaters) {
40
- _logger.default.log('DEBUG', `Loading ${updater} series updater`);
41
-
42
- this.aggregateSeriesUpdateRetriever.loadRetriever(new seriesUpdateRetrievers[updater](this.oblecto));
43
- }
44
-
45
- for (let updater of this.oblecto.config.tvshows.episodeUpdaters) {
46
- _logger.default.log('DEBUG', `Loading ${updater} episode updater`);
47
-
48
- this.aggregateEpisodeUpdaterRetriever.loadRetriever(new episodeUpdateRetrievers[updater](this.oblecto));
49
- } // Register task availability to Oblecto queue
50
-
51
-
52
- this.oblecto.queue.addJob('updateEpisode', async job => {
53
- await this.updateEpisode(job);
54
- });
55
- this.oblecto.queue.addJob('updateSeries', async job => {
56
- await this.updateSeries(job);
57
- });
58
- }
59
- /**
60
- *
61
- * @param {Series} series
62
- * @returns {Promise<void>}
63
- */
64
-
65
-
66
- async updateSeries(series) {
67
- let data = await this.aggregateSeriesUpdateRetriever.retrieveInformation(series);
68
- await series.update(data);
69
- }
70
- /**
71
- *
72
- * @param {Episode} episode
73
- * @returns {Promise<void>}
74
- */
75
-
76
-
77
- async updateEpisode(episode) {
78
- let data = await this.aggregateEpisodeUpdaterRetriever.retrieveInformation(episode);
79
- await episode.update(data);
80
- }
81
-
82
- }
83
-
84
- exports.default = SeriesUpdater;
@@ -1,66 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _logger = _interopRequireDefault(require("../../../../submodules/logger"));
9
-
10
- var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
11
-
12
- var _DebugExtendableError = _interopRequireDefault(require("../../../errors/DebugExtendableError"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class TmdbEpisodeRetriever {
17
- constructor(oblecto) {
18
- this.oblecto = oblecto;
19
- }
20
-
21
- async retrieveInformation(episode) {
22
- let series = await episode.getSeries();
23
- if (!series.tmdbid) throw new _DebugExtendableError.default('No tmdbid attached to series');
24
- let episodeInfo = await (0, _promiseTimeout.default)(this.oblecto.tmdb.episodeInfo({
25
- id: series.tmdbid,
26
- season_number: episode.airedSeason,
27
- episode_number: episode.airedEpisodeNumber
28
- }));
29
-
30
- _logger.default.log('DEBUG', `Episode information for ${episode.episodeName} retrieved from tmdb`);
31
-
32
- let data = {
33
- episodeName: episodeInfo.name,
34
- airedEpisodeNumber: episodeInfo.episode_number,
35
- airedSeason: episodeInfo.season_number,
36
- overview: episodeInfo.overview,
37
- firstAired: episodeInfo.air_date
38
- };
39
- let externalIds = {};
40
-
41
- if (!(episode.tvdbid && episode.imdbid)) {
42
- _logger.default.log('DEBUG', `External ids for ${episode.episodeName} missing`);
43
-
44
- externalIds = await (0, _promiseTimeout.default)(this.oblecto.tmdb.episodeExternalIds({
45
- id: series.tmdbid,
46
- season_number: episode.airedSeason,
47
- episode_number: episode.airedEpisodeNumber
48
- }));
49
-
50
- _logger.default.log('DEBUG', `External ids for ${episode.episodeName} retrieved`);
51
- }
52
-
53
- if (!episode.tvdbid && externalIds.tvdb_id) {
54
- data.tvdbid = externalIds.tvdb_id;
55
- }
56
-
57
- if (!episode.imdbid && externalIds.imdb_id) {
58
- data.imdbid = externalIds.imdb_id;
59
- }
60
-
61
- return data;
62
- }
63
-
64
- }
65
-
66
- exports.default = TmdbEpisodeRetriever;
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
9
-
10
- var _DebugExtendableError = _interopRequireDefault(require("../../../errors/DebugExtendableError"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class TmdbSeriesRetriever {
15
- /**
16
- * @param {Oblecto} oblecto
17
- */
18
- constructor(oblecto) {
19
- this.oblecto = oblecto;
20
- }
21
- /**
22
- *
23
- * @param {Series} series
24
- * @returns {Promise<{overview: *, siteRating: *, seriesName: *, firstAired: *, popularity: *, siteRatingCount: *, status: *}>}
25
- */
26
-
27
-
28
- async retrieveInformation(series) {
29
- if (!series.tmdbid) throw new _DebugExtendableError.default('No tmdbid attached to series');
30
- let seriesInfo = await (0, _promiseTimeout.default)(this.oblecto.tmdb.tvInfo({
31
- id: series.tmdbid
32
- }));
33
- let data = {
34
- seriesName: seriesInfo.name,
35
- status: seriesInfo.status,
36
- firstAired: seriesInfo.first_air_date,
37
- overview: seriesInfo.overview,
38
- popularity: seriesInfo.popularity,
39
- siteRating: seriesInfo.vote_average,
40
- siteRatingCount: seriesInfo.vote_count
41
- };
42
- let externalIds = {};
43
-
44
- if (!(series.tvdbid && series.imdbid)) {
45
- externalIds = await (0, _promiseTimeout.default)(this.oblecto.tmdb.tvExternalIds({
46
- id: series.tmdbid
47
- }));
48
- }
49
-
50
- if (!series.tvdbid) {
51
- data.tvdbid = externalIds.tvdb_id;
52
- }
53
-
54
- if (!series.imdbid) {
55
- data.imdbid = externalIds.imdb_id;
56
- }
57
-
58
- return data;
59
- }
60
-
61
- }
62
-
63
- exports.default = TmdbSeriesRetriever;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
9
-
10
- var _DebugExtendableError = _interopRequireDefault(require("../../../errors/DebugExtendableError"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class TvdbEpisodeRetriever {
15
- constructor(oblecto) {
16
- this.oblecto = oblecto;
17
- }
18
-
19
- async retrieveInformation(episode) {
20
- if (!episode.tvdbid) throw new _DebugExtendableError.default('No tvdbid attached to episode');
21
- let episodeInfo = await (0, _promiseTimeout.default)(this.oblecto.tvdb.getEpisodeById(episode.tvdbid));
22
- let data = {
23
- episodeName: episodeInfo.episodeName,
24
- airedEpisodeNumber: episodeInfo.airedEpisodeNumber,
25
- airedSeason: episodeInfo.airedSeason,
26
- overview: episodeInfo.overview,
27
- firstAired: episodeInfo.firstAired,
28
- dvdEpisodeNumber: episodeInfo.dvdEpisodeNumber,
29
- dvdSeason: episodeInfo.dvdSeason,
30
- absoluteNumber: episodeInfo.absoluteNumber
31
- };
32
- if (episodeInfo.imdbId) data.imdbid = episodeInfo.imdbId;
33
- return episodeInfo;
34
- }
35
-
36
- }
37
-
38
- exports.default = TvdbEpisodeRetriever;
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
9
-
10
- var _DebugExtendableError = _interopRequireDefault(require("../../../errors/DebugExtendableError"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class TvdbSeriesRetriever {
15
- /**
16
- * @param {Oblecto} oblecto
17
- */
18
- constructor(oblecto) {
19
- this.oblecto = oblecto;
20
- }
21
- /**
22
- *
23
- * @param {Series} series
24
- * @returns {Promise<{overview: *, siteRating: *, seriesName: *, firstAired: *, popularity: *, siteRatingCount: *, status: *}>}
25
- */
26
-
27
-
28
- async retrieveInformation(series) {
29
- if (!series.tvdbid) throw new _DebugExtendableError.default('No tvdbid attached to series');
30
- let seriesInfo = await (0, _promiseTimeout.default)(this.oblecto.tvdb.getSeriesById(series.tvdbid)); //TODO: TMDB Voting should be separated from TVDB voting
31
-
32
- return {
33
- seriesName: seriesInfo.seriesName,
34
- status: seriesInfo.status,
35
- firstAired: seriesInfo.firstAired,
36
- overview: seriesInfo.overview,
37
- siteRating: seriesInfo.siteRating,
38
- siteRatingCount: seriesInfo.siteRatingCount,
39
- rating: seriesInfo.rating,
40
- airsDayOfWeek: seriesInfo.airsDayOfWeek,
41
- airsTime: seriesInfo.airsTime,
42
- network: seriesInfo.network,
43
- imdbid: seriesInfo.imdbId || null,
44
- zap2itId: seriesInfo.zap2itId || null
45
- };
46
- }
47
-
48
- }
49
-
50
- exports.default = TvdbSeriesRetriever;
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.episodeColumns = exports.Episode = void 0;
7
-
8
- var _sequelize = require("sequelize");
9
-
10
- class Episode extends _sequelize.Model {}
11
-
12
- exports.Episode = Episode;
13
- const episodeColumns = {
14
- tvdbid: {
15
- type: _sequelize.DataTypes.INTEGER,
16
- allowNull: true,
17
- unique: true
18
- },
19
- tmdbid: {
20
- type: _sequelize.DataTypes.INTEGER,
21
- allowNull: true,
22
- unique: true
23
- },
24
- imdbid: {
25
- type: _sequelize.DataTypes.STRING,
26
- allowNull: true,
27
- unique: true
28
- },
29
- episodeName: {
30
- type: _sequelize.DataTypes.STRING,
31
- allowNull: true
32
- },
33
- absoluteNumber: {
34
- type: _sequelize.DataTypes.INTEGER,
35
- allowNull: true
36
- },
37
- airedEpisodeNumber: {
38
- type: _sequelize.DataTypes.STRING,
39
- allowNull: false
40
- },
41
- airedSeason: {
42
- type: _sequelize.DataTypes.STRING,
43
- allowNull: false
44
- },
45
- dvdEpisodeNumber: {
46
- type: _sequelize.DataTypes.STRING,
47
- allowNull: true
48
- },
49
- dvdSeason: {
50
- type: _sequelize.DataTypes.STRING,
51
- allowNull: true
52
- },
53
- firstAired: {
54
- type: _sequelize.DataTypes.DATEONLY,
55
- allowNull: true
56
- },
57
- overview: {
58
- type: _sequelize.DataTypes.STRING,
59
- allowNull: true
60
- }
61
- };
62
- exports.episodeColumns = episodeColumns;
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.episodeFilesColumns = exports.EpisodeFiles = void 0;
7
-
8
- var _sequelize = require("sequelize");
9
-
10
- class EpisodeFiles extends _sequelize.Model {}
11
-
12
- exports.EpisodeFiles = EpisodeFiles;
13
- const episodeFilesColumns = {};
14
- exports.episodeFilesColumns = episodeFilesColumns;
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fileColumns = exports.File = void 0;
7
-
8
- var _sequelize = require("sequelize");
9
-
10
- class File extends _sequelize.Model {}
11
-
12
- exports.File = File;
13
- const fileColumns = {
14
- host: _sequelize.DataTypes.STRING,
15
- path: _sequelize.DataTypes.STRING,
16
- name: _sequelize.DataTypes.STRING,
17
- directory: _sequelize.DataTypes.STRING,
18
- extension: _sequelize.DataTypes.STRING,
19
- container: _sequelize.DataTypes.STRING,
20
- videoCodec: _sequelize.DataTypes.STRING,
21
- audioCodec: _sequelize.DataTypes.STRING,
22
- duration: _sequelize.DataTypes.DOUBLE,
23
- hash: {
24
- type: _sequelize.DataTypes.STRING,
25
- allowNull: true
26
- },
27
- size: {
28
- type: _sequelize.DataTypes.BIGINT,
29
- allowNull: true
30
- }
31
- };
32
- exports.fileColumns = fileColumns;
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.movieColumns = exports.Movie = void 0;
7
-
8
- var _sequelize = require("sequelize");
9
-
10
- class Movie extends _sequelize.Model {}
11
-
12
- exports.Movie = Movie;
13
- const movieColumns = {
14
- tmdbid: {
15
- type: _sequelize.DataTypes.INTEGER,
16
- allowNull: true,
17
- unique: true
18
- },
19
- imdbid: {
20
- type: _sequelize.DataTypes.STRING,
21
- allowNull: true,
22
- unique: true
23
- },
24
- movieName: _sequelize.DataTypes.STRING,
25
- originalName: _sequelize.DataTypes.STRING,
26
- tagline: _sequelize.DataTypes.STRING,
27
- originalLanguage: _sequelize.DataTypes.STRING,
28
- budget: _sequelize.DataTypes.INTEGER,
29
- revenue: _sequelize.DataTypes.INTEGER,
30
- runtime: _sequelize.DataTypes.INTEGER,
31
- popularity: _sequelize.DataTypes.FLOAT,
32
- releaseDate: _sequelize.DataTypes.DATEONLY,
33
- overview: _sequelize.DataTypes.TEXT
34
- };
35
- exports.movieColumns = movieColumns;
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.movieFileColumns = exports.MovieFiles = void 0;
7
-
8
- var _sequelize = require("sequelize");
9
-
10
- class MovieFiles extends _sequelize.Model {}
11
-
12
- exports.MovieFiles = MovieFiles;
13
- const movieFileColumns = {};
14
- exports.movieFileColumns = movieFileColumns;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.movieSetColumns = exports.MovieSet = void 0;
7
-
8
- var _sequelize = require("sequelize");
9
-
10
- class MovieSet extends _sequelize.Model {}
11
-
12
- exports.MovieSet = MovieSet;
13
- const movieSetColumns = {
14
- setName: _sequelize.DataTypes.STRING,
15
- overview: _sequelize.DataTypes.TEXT,
16
- tmdbid: {
17
- type: _sequelize.DataTypes.INTEGER,
18
- allowNull: true,
19
- unique: true
20
- },
21
- public: {
22
- type: _sequelize.DataTypes.BOOLEAN,
23
- defaultValue: true
24
- }
25
- };
26
- exports.movieSetColumns = movieSetColumns;