oblecto 0.2.9 → 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.
- package/Oblecto-Web/dist/web/index.html +24 -3
- package/Oblecto-Web/dist/web/static/index-C-JsqHHk.css +1 -0
- package/Oblecto-Web/dist/web/static/index-DSZgpOOu.js +576 -0
- package/README.md +43 -7
- package/dist/bin/oblecto.js +12468 -61
- package/dist/index.js +10676 -6
- package/package.json +67 -39
- package/res/AGENTS.md +8 -0
- package/res/config.json +29 -7
- package/Oblecto-Web/dist/web/static/css/app.ef5965dbd50e69a7544e200a3f21fbaf.css +0 -1
- package/Oblecto-Web/dist/web/static/css/app.ef5965dbd50e69a7544e200a3f21fbaf.css.map +0 -1
- package/Oblecto-Web/dist/web/static/js/app.1352bf3c311f0e7ab716.js +0 -7150
- package/Oblecto-Web/dist/web/static/js/app.1352bf3c311f0e7ab716.js.map +0 -1
- package/Oblecto-Web/dist/web/static/js/manifest.b8404c3e329d75bb51fd.js +0 -154
- package/Oblecto-Web/dist/web/static/js/manifest.b8404c3e329d75bb51fd.js.map +0 -1
- package/Oblecto-Web/dist/web/static/js/vendor.521641a02e42750ba5a7.js +0 -32455
- package/Oblecto-Web/dist/web/static/js/vendor.521641a02e42750ba5a7.js.map +0 -1
- package/dist/bin/oblecto.d.ts +0 -2
- package/dist/bin/scripts/adduser.d.ts +0 -2
- package/dist/bin/scripts/adduser.js +0 -50
- package/dist/bin/scripts/changepassword.d.ts +0 -2
- package/dist/bin/scripts/changepassword.js +0 -48
- package/dist/bin/scripts/deluser.d.ts +0 -2
- package/dist/bin/scripts/deluser.js +0 -34
- package/dist/bin/scripts/helpers/argumentError.d.ts +0 -2
- package/dist/bin/scripts/helpers/argumentError.js +0 -12
- package/dist/bin/scripts/helpers/generateAssetDirectories.d.ts +0 -1
- package/dist/bin/scripts/helpers/generateAssetDirectories.js +0 -37
- package/dist/bin/scripts/init/assets.d.ts +0 -2
- package/dist/bin/scripts/init/assets.js +0 -24
- package/dist/bin/scripts/init/database.d.ts +0 -2
- package/dist/bin/scripts/init/database.js +0 -21
- package/dist/bin/scripts/init/general.d.ts +0 -2
- package/dist/bin/scripts/init/general.js +0 -54
- package/dist/bin/scripts/init/index.d.ts +0 -2
- package/dist/bin/scripts/init/index.js +0 -26
- package/dist/bin/scripts/removepassword.d.ts +0 -2
- package/dist/bin/scripts/removepassword.js +0 -42
- package/dist/config.d.ts +0 -7
- package/dist/config.js +0 -45
- package/dist/core/graphical.d.ts +0 -17
- package/dist/core/graphical.js +0 -179
- package/dist/core/index.d.ts +0 -9
- package/dist/core/index.js +0 -24
- package/dist/index.d.ts +0 -1
- package/dist/lib/artwork/ArtworkScaler.d.ts +0 -5
- package/dist/lib/artwork/ArtworkScaler.js +0 -31
- package/dist/lib/artwork/ArtworkUtils.d.ts +0 -8
- package/dist/lib/artwork/ArtworkUtils.js +0 -35
- package/dist/lib/artwork/movies/AggregateMovieArtworkRetriever.d.ts +0 -8
- package/dist/lib/artwork/movies/AggregateMovieArtworkRetriever.js +0 -58
- package/dist/lib/artwork/movies/MovieArtworkCollector.d.ts +0 -35
- package/dist/lib/artwork/movies/MovieArtworkCollector.js +0 -93
- package/dist/lib/artwork/movies/MovieArtworkDownloader.d.ts +0 -8
- package/dist/lib/artwork/movies/MovieArtworkDownloader.js +0 -65
- package/dist/lib/artwork/movies/artworkRetrievers/FanarttvMovieArtworkRetriever.d.ts +0 -6
- package/dist/lib/artwork/movies/artworkRetrievers/FanarttvMovieArtworkRetriever.js +0 -57
- package/dist/lib/artwork/movies/artworkRetrievers/TmdbMovieArtworkRetriever.d.ts +0 -6
- package/dist/lib/artwork/movies/artworkRetrievers/TmdbMovieArtworkRetriever.js +0 -47
- package/dist/lib/artwork/series/AggregateSeriesArtworkRetriever.d.ts +0 -8
- package/dist/lib/artwork/series/AggregateSeriesArtworkRetriever.js +0 -58
- package/dist/lib/artwork/series/SeriesArtworkCollector.d.ts +0 -37
- package/dist/lib/artwork/series/SeriesArtworkCollector.js +0 -95
- package/dist/lib/artwork/series/SeriesArtworkDownloader.d.ts +0 -8
- package/dist/lib/artwork/series/SeriesArtworkDownloader.js +0 -62
- package/dist/lib/artwork/series/artworkRetrievers/FanarttvSeriesArtworkRetriever.d.ts +0 -6
- package/dist/lib/artwork/series/artworkRetrievers/FanarttvSeriesArtworkRetriever.js +0 -44
- package/dist/lib/artwork/series/artworkRetrievers/TmdbSeriesArtworkRetriever.d.ts +0 -16
- package/dist/lib/artwork/series/artworkRetrievers/TmdbSeriesArtworkRetriever.js +0 -64
- package/dist/lib/artwork/series/artworkRetrievers/TvdbSeriesArtworkRetriever.d.ts +0 -16
- package/dist/lib/artwork/series/artworkRetrievers/TvdbSeriesArtworkRetriever.js +0 -51
- package/dist/lib/cleaners/FileCleaner.d.ts +0 -6
- package/dist/lib/cleaners/FileCleaner.js +0 -68
- package/dist/lib/cleaners/MovieCleaner.d.ts +0 -8
- package/dist/lib/cleaners/MovieCleaner.js +0 -48
- package/dist/lib/cleaners/SeriesCleaner.d.ts +0 -10
- package/dist/lib/cleaners/SeriesCleaner.js +0 -88
- package/dist/lib/common/AggregateIdentifier.d.ts +0 -9
- package/dist/lib/common/AggregateIdentifier.js +0 -57
- package/dist/lib/common/AggregateUpdateRetriever.d.ts +0 -5
- package/dist/lib/common/AggregateUpdateRetriever.js +0 -46
- package/dist/lib/downloader/index.d.ts +0 -6
- package/dist/lib/downloader/index.js +0 -83
- package/dist/lib/errors/DebugExtendableError.d.ts +0 -5
- package/dist/lib/errors/DebugExtendableError.js +0 -20
- package/dist/lib/errors/ExtendableError.d.ts +0 -3
- package/dist/lib/errors/ExtendableError.js +0 -22
- package/dist/lib/errors/FileExistsError.d.ts +0 -4
- package/dist/lib/errors/FileExistsError.js +0 -14
- package/dist/lib/errors/IdentificationError.d.ts +0 -4
- package/dist/lib/errors/IdentificationError.js +0 -14
- package/dist/lib/errors/InfoExtendableError.d.ts +0 -5
- package/dist/lib/errors/InfoExtendableError.js +0 -20
- package/dist/lib/errors/VideoAnalysisError.d.ts +0 -4
- package/dist/lib/errors/VideoAnalysisError.js +0 -14
- package/dist/lib/errors/VideoIdentificationError.d.ts +0 -4
- package/dist/lib/errors/VideoIdentificationError.js +0 -9
- package/dist/lib/errors/WarnExtendableError.d.ts +0 -5
- package/dist/lib/errors/WarnExtendableError.js +0 -20
- package/dist/lib/federation/client/FederationClient.d.ts +0 -31
- package/dist/lib/federation/client/FederationClient.js +0 -127
- package/dist/lib/federation/client/FederationClientController.d.ts +0 -9
- package/dist/lib/federation/client/FederationClientController.js +0 -45
- package/dist/lib/federation/client/FederationDataClient.d.ts +0 -11
- package/dist/lib/federation/client/FederationDataClient.js +0 -56
- package/dist/lib/federation/client/FederationMediaClient.d.ts +0 -12
- package/dist/lib/federation/client/FederationMediaClient.js +0 -70
- package/dist/lib/federation/server/FederationController.d.ts +0 -10
- package/dist/lib/federation/server/FederationController.js +0 -32
- package/dist/lib/federation/server/FederationDataServer.d.ts +0 -4
- package/dist/lib/federation/server/FederationDataServer.js +0 -22
- package/dist/lib/federation/server/FederationDataServerConnection.d.ts +0 -8
- package/dist/lib/federation/server/FederationDataServerConnection.js +0 -96
- package/dist/lib/federation/server/FederationMediaServer.d.ts +0 -4
- package/dist/lib/federation/server/FederationMediaServer.js +0 -22
- package/dist/lib/federation/server/FederationMediaServerConnection.d.ts +0 -11
- package/dist/lib/federation/server/FederationMediaServerConnection.js +0 -83
- package/dist/lib/federation/server/FederationServer.d.ts +0 -11
- package/dist/lib/federation/server/FederationServer.js +0 -40
- package/dist/lib/federation/server/FederationServerConnection.d.ts +0 -18
- package/dist/lib/federation/server/FederationServerConnection.js +0 -97
- package/dist/lib/federationindexer/FederationEpisodeIndexer.d.ts +0 -5
- package/dist/lib/federationindexer/FederationEpisodeIndexer.js +0 -65
- package/dist/lib/federationindexer/FederationMovieIndexer.d.ts +0 -5
- package/dist/lib/federationindexer/FederationMovieIndexer.js +0 -48
- package/dist/lib/federationv2/federationController/index.js +0 -13
- package/dist/lib/indexers/MediaIdentifier.d.ts +0 -5
- package/dist/lib/indexers/MediaIdentifier.js +0 -15
- package/dist/lib/indexers/files/FileIndexer.d.ts +0 -10
- package/dist/lib/indexers/files/FileIndexer.js +0 -103
- package/dist/lib/indexers/movies/MovieCollector.d.ts +0 -25
- package/dist/lib/indexers/movies/MovieCollector.js +0 -65
- package/dist/lib/indexers/movies/MovieIdentifier.d.ts +0 -10
- package/dist/lib/indexers/movies/MovieIdentifier.js +0 -22
- package/dist/lib/indexers/movies/MovieIndexer.d.ts +0 -11
- package/dist/lib/indexers/movies/MovieIndexer.js +0 -64
- package/dist/lib/indexers/movies/identifiers/TmdbMovieidentifier.d.ts +0 -4
- package/dist/lib/indexers/movies/identifiers/TmdbMovieidentifier.js +0 -52
- package/dist/lib/indexers/series/EpisodeIdentifier.d.ts +0 -12
- package/dist/lib/indexers/series/EpisodeIdentifier.js +0 -25
- package/dist/lib/indexers/series/SeriesCollector.d.ts +0 -25
- package/dist/lib/indexers/series/SeriesCollector.js +0 -69
- package/dist/lib/indexers/series/SeriesIdentifer.d.ts +0 -11
- package/dist/lib/indexers/series/SeriesIdentifer.js +0 -24
- package/dist/lib/indexers/series/SeriesIndexer.d.ts +0 -11
- package/dist/lib/indexers/series/SeriesIndexer.js +0 -140
- package/dist/lib/indexers/series/identifiers/TmdbEpisodeIdentifier.d.ts +0 -4
- package/dist/lib/indexers/series/identifiers/TmdbEpisodeIdentifier.js +0 -48
- package/dist/lib/indexers/series/identifiers/TmdbSeriesIdentifier.d.ts +0 -6
- package/dist/lib/indexers/series/identifiers/TmdbSeriesIdentifier.js +0 -90
- package/dist/lib/indexers/series/identifiers/TvdbEpisodeIdentifier.d.ts +0 -7
- package/dist/lib/indexers/series/identifiers/TvdbEpisodeIdentifier.js +0 -87
- package/dist/lib/indexers/series/identifiers/TvdbSeriesIdentifier.d.ts +0 -10
- package/dist/lib/indexers/series/identifiers/TvdbSeriesIdentifier.js +0 -82
- package/dist/lib/oblecto/index.d.ts +0 -68
- package/dist/lib/oblecto/index.js +0 -125
- package/dist/lib/queue/index.d.ts +0 -32
- package/dist/lib/queue/index.js +0 -96
- package/dist/lib/realtime/RealtimeClient.d.ts +0 -27
- package/dist/lib/realtime/RealtimeClient.js +0 -137
- package/dist/lib/realtime/RealtimeController.d.ts +0 -12
- package/dist/lib/realtime/RealtimeController.js +0 -50
- package/dist/lib/redisQueue/index.js +0 -109
- package/dist/lib/sets/tv/MovieSetCollector.d.ts +0 -6
- package/dist/lib/sets/tv/MovieSetCollector.js +0 -49
- package/dist/lib/streamSessions/StreamSession.d.ts +0 -41
- package/dist/lib/streamSessions/StreamSession.js +0 -146
- package/dist/lib/streamSessions/StreamSessionController.d.ts +0 -19
- package/dist/lib/streamSessions/StreamSessionController.js +0 -78
- package/dist/lib/streamSessions/StreamSessionTypes/DirectHttpStreamSession.d.ts +0 -5
- package/dist/lib/streamSessions/StreamSessionTypes/DirectHttpStreamSession.js +0 -116
- package/dist/lib/streamSessions/StreamSessionTypes/DirectStreamSession.d.ts +0 -5
- package/dist/lib/streamSessions/StreamSessionTypes/DirectStreamSession.js +0 -41
- package/dist/lib/streamSessions/StreamSessionTypes/HLSStreamer.d.ts +0 -15
- package/dist/lib/streamSessions/StreamSessionTypes/HLSStreamer.js +0 -148
- package/dist/lib/streamSessions/StreamSessionTypes/RecodeFederationStreamSession.d.ts +0 -9
- package/dist/lib/streamSessions/StreamSessionTypes/RecodeFederationStreamSession.js +0 -72
- package/dist/lib/streamSessions/StreamSessionTypes/RecodeStreamSession.d.ts +0 -6
- package/dist/lib/streamSessions/StreamSessionTypes/RecodeStreamSession.js +0 -96
- package/dist/lib/updaters/files/FileUpdateCollector.d.ts +0 -20
- package/dist/lib/updaters/files/FileUpdateCollector.js +0 -44
- package/dist/lib/updaters/files/FileUpdater.d.ts +0 -49
- package/dist/lib/updaters/files/FileUpdater.js +0 -194
- package/dist/lib/updaters/movies/MovieUpdateCollector.d.ts +0 -20
- package/dist/lib/updaters/movies/MovieUpdateCollector.js +0 -48
- package/dist/lib/updaters/movies/MovieUpdater.d.ts +0 -12
- package/dist/lib/updaters/movies/MovieUpdater.js +0 -49
- package/dist/lib/updaters/movies/informationRetrievers/TmdbMovieRetriever.d.ts +0 -20
- package/dist/lib/updaters/movies/informationRetrievers/TmdbMovieRetriever.js +0 -45
- package/dist/lib/updaters/series/SeriesUpdateCollector.d.ts +0 -37
- package/dist/lib/updaters/series/SeriesUpdateCollector.js +0 -79
- package/dist/lib/updaters/series/SeriesUpdater.d.ts +0 -22
- package/dist/lib/updaters/series/SeriesUpdater.js +0 -84
- package/dist/lib/updaters/series/informationRetrievers/TmdbEpisodeRetriever.d.ts +0 -11
- package/dist/lib/updaters/series/informationRetrievers/TmdbEpisodeRetriever.js +0 -70
- package/dist/lib/updaters/series/informationRetrievers/TmdbSeriesRetriever.d.ts +0 -21
- package/dist/lib/updaters/series/informationRetrievers/TmdbSeriesRetriever.js +0 -68
- package/dist/lib/updaters/series/informationRetrievers/TvdbEpisodeRetriever.d.ts +0 -5
- package/dist/lib/updaters/series/informationRetrievers/TvdbEpisodeRetriever.js +0 -38
- package/dist/lib/updaters/series/informationRetrievers/TvdbSeriesRetriever.d.ts +0 -21
- package/dist/lib/updaters/series/informationRetrievers/TvdbSeriesRetriever.js +0 -50
- package/dist/models/episode.d.ts +0 -76
- package/dist/models/episode.js +0 -62
- package/dist/models/episodeFiles.d.ts +0 -5
- package/dist/models/episodeFiles.js +0 -14
- package/dist/models/file.d.ts +0 -26
- package/dist/models/file.js +0 -32
- package/dist/models/movie.d.ts +0 -30
- package/dist/models/movie.js +0 -36
- package/dist/models/movieFiles.d.ts +0 -5
- package/dist/models/movieFiles.js +0 -14
- package/dist/models/movieSet.d.ts +0 -20
- package/dist/models/movieSet.js +0 -26
- package/dist/models/series.d.ts +0 -59
- package/dist/models/series.js +0 -50
- package/dist/models/seriesSet.d.ts +0 -9
- package/dist/models/seriesSet.js +0 -17
- package/dist/models/stream.d.ts +0 -73
- package/dist/models/stream.js +0 -81
- package/dist/models/trackEpisode.d.ts +0 -9
- package/dist/models/trackEpisode.js +0 -17
- package/dist/models/trackMovie.d.ts +0 -9
- package/dist/models/trackMovie.js +0 -17
- package/dist/models/user.d.ts +0 -19
- package/dist/models/user.js +0 -26
- package/dist/submodules/REST/index.d.ts +0 -9
- package/dist/submodules/REST/index.js +0 -59
- package/dist/submodules/REST/middleware/auth.d.ts +0 -5
- package/dist/submodules/REST/middleware/auth.js +0 -28
- package/dist/submodules/REST/routes/auth.d.ts +0 -2
- package/dist/submodules/REST/routes/auth.js +0 -48
- package/dist/submodules/REST/routes/clients.d.ts +0 -2
- package/dist/submodules/REST/routes/clients.js +0 -54
- package/dist/submodules/REST/routes/episodes.d.ts +0 -2
- package/dist/submodules/REST/routes/episodes.js +0 -275
- package/dist/submodules/REST/routes/files.d.ts +0 -2
- package/dist/submodules/REST/routes/files.js +0 -53
- package/dist/submodules/REST/routes/index.d.ts +0 -2
- package/dist/submodules/REST/routes/index.js +0 -49
- package/dist/submodules/REST/routes/movies.d.ts +0 -2
- package/dist/submodules/REST/routes/movies.js +0 -303
- package/dist/submodules/REST/routes/sets.d.ts +0 -2
- package/dist/submodules/REST/routes/sets.js +0 -35
- package/dist/submodules/REST/routes/settings/index.d.ts +0 -2
- package/dist/submodules/REST/routes/settings/index.js +0 -22
- package/dist/submodules/REST/routes/settings/maintenance.d.ts +0 -2
- package/dist/submodules/REST/routes/settings/maintenance.js +0 -87
- package/dist/submodules/REST/routes/settings/misc.d.ts +0 -2
- package/dist/submodules/REST/routes/settings/misc.js +0 -38
- package/dist/submodules/REST/routes/settings/sources.d.ts +0 -2
- package/dist/submodules/REST/routes/settings/sources.js +0 -61
- package/dist/submodules/REST/routes/streaming.js +0 -91
- package/dist/submodules/REST/routes/tvshows.d.ts +0 -2
- package/dist/submodules/REST/routes/tvshows.js +0 -137
- package/dist/submodules/REST/routes/users.d.ts +0 -2
- package/dist/submodules/REST/routes/users.js +0 -107
- package/dist/submodules/REST/routes/web.d.ts +0 -2
- package/dist/submodules/REST/routes/web.js +0 -43
- package/dist/submodules/axiosTimeout.d.ts +0 -1
- package/dist/submodules/axiosTimeout.js +0 -31
- package/dist/submodules/database.d.ts +0 -1
- package/dist/submodules/database.js +0 -180
- package/dist/submodules/ffmpeg.d.ts +0 -1
- package/dist/submodules/ffmpeg.js +0 -23
- package/dist/submodules/ffprobe.d.ts +0 -1
- package/dist/submodules/ffprobe.js +0 -22
- package/dist/submodules/guessit.d.ts +0 -5
- package/dist/submodules/guessit.js +0 -48
- package/dist/submodules/logger/index.d.ts +0 -7
- package/dist/submodules/logger/index.js +0 -43
- package/dist/submodules/promiseTimeout.d.ts +0 -1
- package/dist/submodules/promiseTimeout.js +0 -28
- package/dist/submodules/zeroconf.js +0 -19
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _sequelize = require("sequelize");
|
|
9
|
-
|
|
10
|
-
var _AggregateIdentifier = _interopRequireDefault(require("../../common/AggregateIdentifier"));
|
|
11
|
-
|
|
12
|
-
var _TmdbSeriesIdentifier = _interopRequireDefault(require("./identifiers/TmdbSeriesIdentifier"));
|
|
13
|
-
|
|
14
|
-
var _TmdbEpisodeIdentifier = _interopRequireDefault(require("./identifiers/TmdbEpisodeIdentifier"));
|
|
15
|
-
|
|
16
|
-
var _TvdbSeriesIdentifier = _interopRequireDefault(require("./identifiers/TvdbSeriesIdentifier"));
|
|
17
|
-
|
|
18
|
-
var _TvdbEpisodeIdentifier = _interopRequireDefault(require("./identifiers/TvdbEpisodeIdentifier"));
|
|
19
|
-
|
|
20
|
-
var _series = require("../../../models/series");
|
|
21
|
-
|
|
22
|
-
var _episode = require("../../../models/episode");
|
|
23
|
-
|
|
24
|
-
var _IdentificationError = _interopRequireDefault(require("../../errors/IdentificationError"));
|
|
25
|
-
|
|
26
|
-
var _logger = _interopRequireDefault(require("../../../submodules/logger"));
|
|
27
|
-
|
|
28
|
-
var _guessit = _interopRequireDefault(require("../../../submodules/guessit"));
|
|
29
|
-
|
|
30
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
|
|
32
|
-
class SeriesIndexer {
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* @param {Oblecto} oblecto
|
|
36
|
-
*/
|
|
37
|
-
constructor(oblecto) {
|
|
38
|
-
this.oblecto = oblecto;
|
|
39
|
-
this.seriesIdentifier = new _AggregateIdentifier.default();
|
|
40
|
-
this.episodeIdentifer = new _AggregateIdentifier.default();
|
|
41
|
-
const seriesIdentifiers = {
|
|
42
|
-
'tmdb': _TmdbSeriesIdentifier.default,
|
|
43
|
-
'tvdb': _TvdbSeriesIdentifier.default
|
|
44
|
-
};
|
|
45
|
-
const episodeIdentifiers = {
|
|
46
|
-
'tmdb': _TmdbEpisodeIdentifier.default,
|
|
47
|
-
'tvdb': _TvdbEpisodeIdentifier.default
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
for (let identifier of this.oblecto.config.tvshows.seriesIdentifiers) {
|
|
51
|
-
_logger.default.log('DEBUG', `Loading ${identifier} series identifier`);
|
|
52
|
-
|
|
53
|
-
this.seriesIdentifier.loadIdentifier(new seriesIdentifiers[identifier](this.oblecto));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
for (let identifier of this.oblecto.config.tvshows.episodeIdentifiers) {
|
|
57
|
-
_logger.default.log('DEBUG', `Loading ${identifier} episode identifier`);
|
|
58
|
-
|
|
59
|
-
this.episodeIdentifer.loadIdentifier(new episodeIdentifiers[identifier](this.oblecto));
|
|
60
|
-
} // Register task availability to Oblecto queue
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.oblecto.queue.registerJob('indexEpisode', async job => await this.indexFile(job.path));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
async indexSeries(file, guessitIdentification) {
|
|
67
|
-
let seriesIdentification;
|
|
68
|
-
|
|
69
|
-
try {
|
|
70
|
-
seriesIdentification = await this.seriesIdentifier.identify(file.path, guessitIdentification);
|
|
71
|
-
} catch (e) {
|
|
72
|
-
throw new _IdentificationError.default(`Could not identify series of ${file.path}`);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
_logger.default.log('DEBUG', `${file.path} series identified: ${seriesIdentification.seriesName}`);
|
|
76
|
-
|
|
77
|
-
const identifiers = ['tvdbid', 'tmdbid'];
|
|
78
|
-
let seriesQuery = [];
|
|
79
|
-
|
|
80
|
-
for (let identifier of identifiers) {
|
|
81
|
-
if (!seriesIdentification[identifier]) continue;
|
|
82
|
-
seriesQuery.push({
|
|
83
|
-
[identifier]: seriesIdentification[identifier]
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
let [series, seriesCreated] = await _series.Series.findOrCreate({
|
|
88
|
-
where: {
|
|
89
|
-
[_sequelize.Op.or]: seriesQuery
|
|
90
|
-
},
|
|
91
|
-
defaults: seriesIdentification
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
if (seriesCreated) {
|
|
95
|
-
this.oblecto.queue.pushJob('updateSeries', series);
|
|
96
|
-
this.oblecto.queue.queueJob('downloadSeriesPoster', series);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return series;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
async indexFile(episodePath) {
|
|
103
|
-
let file = await this.oblecto.fileIndexer.indexVideoFile(episodePath);
|
|
104
|
-
const guessitIdentification = await _guessit.default.identify(episodePath); // Some single season shows usually don't have a season in the title,
|
|
105
|
-
// therefore whe should set it to 1 by default.
|
|
106
|
-
|
|
107
|
-
if (!guessitIdentification.season) {
|
|
108
|
-
guessitIdentification.season = 1;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
let series = await this.indexSeries(file, guessitIdentification);
|
|
112
|
-
let episodeIdentification;
|
|
113
|
-
|
|
114
|
-
try {
|
|
115
|
-
episodeIdentification = await this.episodeIdentifer.identify(episodePath, guessitIdentification, series);
|
|
116
|
-
} catch (e) {
|
|
117
|
-
throw new _IdentificationError.default(`Could not identify episode ${episodePath}`);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
_logger.default.log('DEBUG', `${file.path} episode identified ${episodeIdentification.episodeName}`);
|
|
121
|
-
|
|
122
|
-
let [episode, episodeCreated] = await _episode.Episode.findOrCreate({
|
|
123
|
-
where: {
|
|
124
|
-
airedSeason: episodeIdentification.airedSeason || 1,
|
|
125
|
-
airedEpisodeNumber: episodeIdentification.airedEpisodeNumber,
|
|
126
|
-
SeriesId: series.id
|
|
127
|
-
},
|
|
128
|
-
defaults: episodeIdentification
|
|
129
|
-
});
|
|
130
|
-
await episode.addFile(file);
|
|
131
|
-
|
|
132
|
-
if (episodeCreated) {
|
|
133
|
-
this.oblecto.queue.pushJob('updateEpisode', episode);
|
|
134
|
-
this.oblecto.queue.queueJob('downloadEpisodeBanner', episode);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
exports.default = SeriesIndexer;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _guessit = _interopRequireDefault(require("../../../../submodules/guessit"));
|
|
9
|
-
|
|
10
|
-
var _IdentificationError = _interopRequireDefault(require("../../../errors/IdentificationError"));
|
|
11
|
-
|
|
12
|
-
var _EpisodeIdentifier = _interopRequireDefault(require("../EpisodeIdentifier"));
|
|
13
|
-
|
|
14
|
-
var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
class TmdbEpisodeIdentifier extends _EpisodeIdentifier.default {
|
|
19
|
-
/**
|
|
20
|
-
* Identify an episode using TMDB
|
|
21
|
-
*
|
|
22
|
-
* @param { String } path - Path to the episode to be identified
|
|
23
|
-
* @param guessitIdentification
|
|
24
|
-
* @param { Series } series - Series to which the episode should belong
|
|
25
|
-
* @returns {Promise<{overview: *, tmdbid: *, episodeName: *, firstAired: *, airedSeason: *, airedEpisodeNumber: *}>}
|
|
26
|
-
*/
|
|
27
|
-
async identify(path, guessitIdentification, series) {
|
|
28
|
-
if (!series.tmdbid) throw new _IdentificationError.default();
|
|
29
|
-
let episode = await (0, _promiseTimeout.default)(this.oblecto.tmdb.episodeInfo({
|
|
30
|
-
id: series.tmdbid,
|
|
31
|
-
season_number: guessitIdentification.season || 1,
|
|
32
|
-
episode_number: guessitIdentification.episode
|
|
33
|
-
}, {
|
|
34
|
-
timeout: 5000
|
|
35
|
-
}));
|
|
36
|
-
return {
|
|
37
|
-
tmdbid: episode.id,
|
|
38
|
-
episodeName: episode.name,
|
|
39
|
-
airedEpisodeNumber: episode.episode_number,
|
|
40
|
-
airedSeason: episode.season_number,
|
|
41
|
-
overview: episode.overview,
|
|
42
|
-
firstAired: episode.air_date
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
exports.default = TmdbEpisodeIdentifier;
|
|
@@ -1,90 +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
|
-
var _SeriesIdentifer = _interopRequireDefault(require("../SeriesIdentifer"));
|
|
11
|
-
|
|
12
|
-
var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
class TmdbSeriesIdentifier extends _SeriesIdentifer.default {
|
|
17
|
-
constructor(oblecto) {
|
|
18
|
-
super(oblecto);
|
|
19
|
-
this.tvShowCache = {};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Find the most relevant series match from a TMDB Search output
|
|
23
|
-
*
|
|
24
|
-
* @param tmdbSearch
|
|
25
|
-
* @param guessitIdentification
|
|
26
|
-
* @returns {{first_air_date}|*}
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
retrieveSeries(tmdbSearch, guessitIdentification) {
|
|
31
|
-
// If TMDB only found one series that matches, we'll just ignore the date
|
|
32
|
-
// This fixes some releases where the episode release year is included in
|
|
33
|
-
// the file name instead of the first series release year
|
|
34
|
-
if (tmdbSearch.length === 1) return tmdbSearch[0]; // If more then one possible match was found, use the one where the date is an exact match
|
|
35
|
-
// TODO: We might want to also match to the most similar name
|
|
36
|
-
|
|
37
|
-
for (let series of tmdbSearch) {
|
|
38
|
-
if (!series.first_air_date) continue;
|
|
39
|
-
if (guessitIdentification.year.toString() !== series.first_air_date.substr(0, 4).toString()) continue;
|
|
40
|
-
return series;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
throw new _IdentificationError.default();
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Identify the series of a given file
|
|
47
|
-
*
|
|
48
|
-
* @param { String } path
|
|
49
|
-
* @param guessitIdentification
|
|
50
|
-
* @returns {Promise<{overview, tmdbid, seriesName}|*>}
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
async identify(path, guessitIdentification) {
|
|
55
|
-
let cacheId = guessitIdentification.title;
|
|
56
|
-
|
|
57
|
-
if (guessitIdentification.year) {
|
|
58
|
-
cacheId += guessitIdentification.year;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (this.tvShowCache[cacheId]) {
|
|
62
|
-
return this.tvShowCache[cacheId];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
let tmdbSearch = (await (0, _promiseTimeout.default)(this.oblecto.tmdb.searchTv({
|
|
66
|
-
query: guessitIdentification.title
|
|
67
|
-
}, {
|
|
68
|
-
timeout: 5000
|
|
69
|
-
}))).results;
|
|
70
|
-
|
|
71
|
-
if (tmdbSearch.length < 1) {
|
|
72
|
-
throw new _IdentificationError.default('Search result from TMDB returned empty');
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
let series = tmdbSearch[0];
|
|
76
|
-
|
|
77
|
-
if (guessitIdentification.year) {
|
|
78
|
-
series = this.retrieveSeries(tmdbSearch, guessitIdentification);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return this.tvShowCache[cacheId] = {
|
|
82
|
-
tmdbid: series.id,
|
|
83
|
-
seriesName: series.name,
|
|
84
|
-
overview: series.overview
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
exports.default = TmdbSeriesIdentifier;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export default class TvdbEpisodeIdentifier extends EpisodeIdentifier {
|
|
2
|
-
constructor(oblecto: any);
|
|
3
|
-
episodeCache: {};
|
|
4
|
-
getEpisodes(tvdbId: any): Promise<any>;
|
|
5
|
-
retrieveEpisode(series: any, guessitIdentification: any): Promise<any>;
|
|
6
|
-
}
|
|
7
|
-
import EpisodeIdentifier from "../EpisodeIdentifier";
|
|
@@ -1,87 +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
|
-
var _EpisodeIdentifier = _interopRequireDefault(require("../EpisodeIdentifier"));
|
|
11
|
-
|
|
12
|
-
var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout"));
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
class TvdbEpisodeIdentifier extends _EpisodeIdentifier.default {
|
|
17
|
-
constructor(oblecto) {
|
|
18
|
-
super(oblecto);
|
|
19
|
-
this.episodeCache = {};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get all episodes from TVDB from a given TVDB series id
|
|
23
|
-
*
|
|
24
|
-
* @param { Number } tvdbId
|
|
25
|
-
* @returns {Promise<*>}
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
async getEpisodes(tvdbId) {
|
|
30
|
-
// TODO: Caching should be moved somewhere else or at least improved. This implementation is terrible
|
|
31
|
-
if (this.episodeCache[tvdbId]) {
|
|
32
|
-
return this.episodeCache[tvdbId];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (this.episodeCache.length > 100) this.episodeCache = {};
|
|
36
|
-
this.episodeCache[tvdbId] = await (0, _promiseTimeout.default)(this.oblecto.tvdb.getEpisodesBySeriesId(tvdbId));
|
|
37
|
-
return this.episodeCache[tvdbId];
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Match an episode to given guessit identification
|
|
41
|
-
*
|
|
42
|
-
* @param { Series } series
|
|
43
|
-
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
async retrieveEpisode(series, guessitIdentification) {
|
|
47
|
-
let tvdbEpisodes = await this.getEpisodes(series.tvdbid);
|
|
48
|
-
|
|
49
|
-
for (let episode of tvdbEpisodes) {
|
|
50
|
-
if (episode.episodeName === guessitIdentification.episode_name) return episode;
|
|
51
|
-
if (episode.airedSeason !== guessitIdentification.season) continue;
|
|
52
|
-
if (episode.airedEpisodeNumber !== guessitIdentification.episode) continue;
|
|
53
|
-
return episode;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
throw new _IdentificationError.default();
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Identify an episode using TVDB
|
|
60
|
-
*
|
|
61
|
-
* @param { String } path - Path to the episode to be identified
|
|
62
|
-
* @param guessitIdentification
|
|
63
|
-
* @param { Series } series - Series to which the episode should belong
|
|
64
|
-
* @returns {Promise<{overview: *, tmdbid: *, episodeName: *, firstAired: *, airedSeason: *, airedEpisodeNumber: *}>}
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
async identify(path, guessitIdentification, series) {
|
|
69
|
-
if (!series.tvdbid) throw new _IdentificationError.default('tvdbid was not supplied');
|
|
70
|
-
let episode = await this.retrieveEpisode(series, guessitIdentification);
|
|
71
|
-
return {
|
|
72
|
-
tvdbid: episode.id,
|
|
73
|
-
imdbid: episode.imdbId,
|
|
74
|
-
episodeName: episode.episodeName,
|
|
75
|
-
airedEpisodeNumber: episode.airedEpisodeNumber,
|
|
76
|
-
airedSeason: episode.airedSeason,
|
|
77
|
-
dvdEpisodeNumber: episode.dvdEpisodeNumber,
|
|
78
|
-
dvdSeason: episode.dvdSeason,
|
|
79
|
-
absoluteNumber: episode.absoluteNumber,
|
|
80
|
-
overview: episode.overview,
|
|
81
|
-
firstAired: episode.firstAired
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
exports.default = TvdbEpisodeIdentifier;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export default class TvdbSeriesIdentifier extends SeriesIdentifier {
|
|
2
|
-
/**
|
|
3
|
-
* @param {Oblecto} oblecto
|
|
4
|
-
*/
|
|
5
|
-
constructor(oblecto: any);
|
|
6
|
-
tvShowCache: {};
|
|
7
|
-
findMatch(found: any, guessitId: any): any;
|
|
8
|
-
searchSeries(guessitIdentification: any): Promise<any>;
|
|
9
|
-
}
|
|
10
|
-
import SeriesIdentifier from "../SeriesIdentifer";
|
|
@@ -1,82 +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
|
-
var _promiseTimeout = _interopRequireDefault(require("../../../../submodules/promiseTimeout.js"));
|
|
11
|
-
|
|
12
|
-
var _SeriesIdentifer = _interopRequireDefault(require("../SeriesIdentifer"));
|
|
13
|
-
|
|
14
|
-
var _fastestLevenshtein = require("fastest-levenshtein");
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
class TvdbSeriesIdentifier extends _SeriesIdentifer.default {
|
|
19
|
-
/**
|
|
20
|
-
* @param {Oblecto} oblecto
|
|
21
|
-
*/
|
|
22
|
-
constructor(oblecto) {
|
|
23
|
-
super(oblecto);
|
|
24
|
-
this.tvShowCache = {};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
findMatch(found, guessitId) {
|
|
28
|
-
// We need to do this as TVDB search ordering is pretty terrible
|
|
29
|
-
// When the tvdb identifier attempts to index "Doctor Who", it will identify it as "Doctor Who Confidential"
|
|
30
|
-
// if we use the first search result. Finding for the closest named match seems like the best solution
|
|
31
|
-
let shortestDistance = -1;
|
|
32
|
-
let shortestItem;
|
|
33
|
-
|
|
34
|
-
for (let item of found) {
|
|
35
|
-
let currentDistance = (0, _fastestLevenshtein.distance)(guessitId.title, item.seriesName);
|
|
36
|
-
|
|
37
|
-
if (shortestDistance == -1 || currentDistance < shortestDistance) {
|
|
38
|
-
shortestDistance = currentDistance;
|
|
39
|
-
shortestItem = item;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return shortestItem;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
async searchSeries(guessitIdentification) {
|
|
47
|
-
let tvdbSearch = await (0, _promiseTimeout.default)(this.oblecto.tvdb.getSeriesByName(guessitIdentification.title));
|
|
48
|
-
if (!guessitIdentification.year) return this.findMatch(tvdbSearch, guessitIdentification);
|
|
49
|
-
let candidates = [];
|
|
50
|
-
|
|
51
|
-
for (let series of tvdbSearch) {
|
|
52
|
-
if (!series.firstAired) continue;
|
|
53
|
-
if (guessitIdentification.year.toString() !== series.firstAired.substr(0, 4)) continue;
|
|
54
|
-
candidates.push(series);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (candidates.length === 0) throw new _IdentificationError.default();
|
|
58
|
-
return this.findMatch(candidates, guessitIdentification);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async identify(path, guessitIdentification) {
|
|
62
|
-
let cacheId = guessitIdentification.title;
|
|
63
|
-
|
|
64
|
-
if (guessitIdentification.year) {
|
|
65
|
-
cacheId += guessitIdentification.year;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (this.tvShowCache[cacheId]) {
|
|
69
|
-
return this.tvShowCache[cacheId];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
let series = await this.searchSeries(guessitIdentification);
|
|
73
|
-
return this.tvShowCache[cacheId] = {
|
|
74
|
-
tvdbid: series.id,
|
|
75
|
-
seriesName: series.seriesName,
|
|
76
|
-
overview: series.overview
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
exports.default = TvdbSeriesIdentifier;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import TVDB from 'node-tvdb';
|
|
2
|
-
import { MovieDb } from 'moviedb-promise';
|
|
3
|
-
import Queue from '../queue';
|
|
4
|
-
import ImageScaler from '../artwork/ArtworkScaler';
|
|
5
|
-
import Downloader from '../downloader';
|
|
6
|
-
import SeriesIndexer from '../indexers/series/SeriesIndexer';
|
|
7
|
-
import MovieIndexer from '../indexers/movies/MovieIndexer';
|
|
8
|
-
import SeriesCollector from '../indexers/series/SeriesCollector';
|
|
9
|
-
import MovieCollector from '../indexers/movies/MovieCollector';
|
|
10
|
-
import OblectoAPI from '../../submodules/REST';
|
|
11
|
-
import RealtimeController from '../realtime/RealtimeController';
|
|
12
|
-
import ArtworkUtils from '../artwork/ArtworkUtils';
|
|
13
|
-
import MovieArtworkCollector from '../artwork/movies/MovieArtworkCollector';
|
|
14
|
-
import SeriesArtworkCollector from '../artwork/series/SeriesArtworkCollector';
|
|
15
|
-
import SeriesArtworkDownloader from '../artwork/series/SeriesArtworkDownloader';
|
|
16
|
-
import MovieArtworkDownloader from '../artwork/movies/MovieArtworkDownloader';
|
|
17
|
-
import FileUpdater from '../updaters/files/FileUpdater';
|
|
18
|
-
import SeriesUpdater from '../updaters/series/SeriesUpdater';
|
|
19
|
-
import MovieUpdater from '../updaters/movies/MovieUpdater';
|
|
20
|
-
import FileUpdateCollector from '../updaters/files/FileUpdateCollector';
|
|
21
|
-
import SeriesUpdateCollector from '../updaters/series/SeriesUpdateCollector';
|
|
22
|
-
import MovieUpdateCollector from '../updaters/movies/MovieUpdateCollector';
|
|
23
|
-
import FederationController from '../federation/server/FederationController';
|
|
24
|
-
import FederationClientController from '../federation/client/FederationClientController';
|
|
25
|
-
import FederationEpisodeIndexer from '../federationindexer/FederationEpisodeIndexer';
|
|
26
|
-
import FederationMovieIndexer from '../federationindexer/FederationMovieIndexer';
|
|
27
|
-
import MovieCleaner from '../cleaners/MovieCleaner';
|
|
28
|
-
import SeriesCleaner from '../cleaners/SeriesCleaner';
|
|
29
|
-
import FileCleaner from '../cleaners/FileCleaner';
|
|
30
|
-
import FileIndexer from '../indexers/files/FileIndexer';
|
|
31
|
-
import StreamSessionController from '../streamSessions/StreamSessionController';
|
|
32
|
-
export default class Oblecto {
|
|
33
|
-
config: any;
|
|
34
|
-
database: any;
|
|
35
|
-
tvdb: TVDB;
|
|
36
|
-
tmdb: MovieDb;
|
|
37
|
-
queue: Queue;
|
|
38
|
-
oblectoAPI: OblectoAPI;
|
|
39
|
-
realTimeController: RealtimeController;
|
|
40
|
-
downloader: Downloader;
|
|
41
|
-
fileIndexer: FileIndexer;
|
|
42
|
-
seriesIndexer: SeriesIndexer;
|
|
43
|
-
movieIndexer: MovieIndexer;
|
|
44
|
-
seriesCollector: SeriesCollector;
|
|
45
|
-
movieCollector: MovieCollector;
|
|
46
|
-
seriesArtworkDownloader: SeriesArtworkDownloader;
|
|
47
|
-
movieArtworkDownloader: MovieArtworkDownloader;
|
|
48
|
-
seriesArtworkCollector: SeriesArtworkCollector;
|
|
49
|
-
movieArtworkCollector: MovieArtworkCollector;
|
|
50
|
-
artworkUtils: ArtworkUtils;
|
|
51
|
-
imageScaler: ImageScaler;
|
|
52
|
-
fileUpdater: FileUpdater;
|
|
53
|
-
seriesUpdater: SeriesUpdater;
|
|
54
|
-
movieUpdater: MovieUpdater;
|
|
55
|
-
fileUpdateCollector: FileUpdateCollector;
|
|
56
|
-
seriesUpdateCollector: SeriesUpdateCollector;
|
|
57
|
-
movieUpdateCollector: MovieUpdateCollector;
|
|
58
|
-
fileCleaner: FileCleaner;
|
|
59
|
-
movieCleaner: MovieCleaner;
|
|
60
|
-
seriesCleaner: SeriesCleaner;
|
|
61
|
-
streamSessionController: StreamSessionController;
|
|
62
|
-
federationController: FederationController;
|
|
63
|
-
federationClientController: FederationClientController;
|
|
64
|
-
federationEpisodeIndexer: FederationEpisodeIndexer;
|
|
65
|
-
federationMovieIndexer: FederationMovieIndexer;
|
|
66
|
-
constructor(config: any);
|
|
67
|
-
close(): void;
|
|
68
|
-
}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _nodeTvdb = _interopRequireDefault(require("node-tvdb"));
|
|
9
|
-
|
|
10
|
-
var _moviedbPromise = require("moviedb-promise");
|
|
11
|
-
|
|
12
|
-
var _queue = _interopRequireDefault(require("../queue"));
|
|
13
|
-
|
|
14
|
-
var _ArtworkScaler = _interopRequireDefault(require("../artwork/ArtworkScaler"));
|
|
15
|
-
|
|
16
|
-
var _downloader = _interopRequireDefault(require("../downloader"));
|
|
17
|
-
|
|
18
|
-
var _SeriesIndexer = _interopRequireDefault(require("../indexers/series/SeriesIndexer"));
|
|
19
|
-
|
|
20
|
-
var _MovieIndexer = _interopRequireDefault(require("../indexers/movies/MovieIndexer"));
|
|
21
|
-
|
|
22
|
-
var _SeriesCollector = _interopRequireDefault(require("../indexers/series/SeriesCollector"));
|
|
23
|
-
|
|
24
|
-
var _MovieCollector = _interopRequireDefault(require("../indexers/movies/MovieCollector"));
|
|
25
|
-
|
|
26
|
-
var _REST = _interopRequireDefault(require("../../submodules/REST"));
|
|
27
|
-
|
|
28
|
-
var _RealtimeController = _interopRequireDefault(require("../realtime/RealtimeController"));
|
|
29
|
-
|
|
30
|
-
var _ArtworkUtils = _interopRequireDefault(require("../artwork/ArtworkUtils"));
|
|
31
|
-
|
|
32
|
-
var _MovieArtworkCollector = _interopRequireDefault(require("../artwork/movies/MovieArtworkCollector"));
|
|
33
|
-
|
|
34
|
-
var _SeriesArtworkCollector = _interopRequireDefault(require("../artwork/series/SeriesArtworkCollector"));
|
|
35
|
-
|
|
36
|
-
var _SeriesArtworkDownloader = _interopRequireDefault(require("../artwork/series/SeriesArtworkDownloader"));
|
|
37
|
-
|
|
38
|
-
var _MovieArtworkDownloader = _interopRequireDefault(require("../artwork/movies/MovieArtworkDownloader"));
|
|
39
|
-
|
|
40
|
-
var _FileUpdater = _interopRequireDefault(require("../updaters/files/FileUpdater"));
|
|
41
|
-
|
|
42
|
-
var _SeriesUpdater = _interopRequireDefault(require("../updaters/series/SeriesUpdater"));
|
|
43
|
-
|
|
44
|
-
var _MovieUpdater = _interopRequireDefault(require("../updaters/movies/MovieUpdater"));
|
|
45
|
-
|
|
46
|
-
var _FileUpdateCollector = _interopRequireDefault(require("../updaters/files/FileUpdateCollector"));
|
|
47
|
-
|
|
48
|
-
var _SeriesUpdateCollector = _interopRequireDefault(require("../updaters/series/SeriesUpdateCollector"));
|
|
49
|
-
|
|
50
|
-
var _MovieUpdateCollector = _interopRequireDefault(require("../updaters/movies/MovieUpdateCollector"));
|
|
51
|
-
|
|
52
|
-
var _FederationController = _interopRequireDefault(require("../federation/server/FederationController"));
|
|
53
|
-
|
|
54
|
-
var _FederationClientController = _interopRequireDefault(require("../federation/client/FederationClientController"));
|
|
55
|
-
|
|
56
|
-
var _FederationEpisodeIndexer = _interopRequireDefault(require("../federationindexer/FederationEpisodeIndexer"));
|
|
57
|
-
|
|
58
|
-
var _FederationMovieIndexer = _interopRequireDefault(require("../federationindexer/FederationMovieIndexer"));
|
|
59
|
-
|
|
60
|
-
var _MovieCleaner = _interopRequireDefault(require("../cleaners/MovieCleaner"));
|
|
61
|
-
|
|
62
|
-
var _SeriesCleaner = _interopRequireDefault(require("../cleaners/SeriesCleaner"));
|
|
63
|
-
|
|
64
|
-
var _FileCleaner = _interopRequireDefault(require("../cleaners/FileCleaner"));
|
|
65
|
-
|
|
66
|
-
var _FileIndexer = _interopRequireDefault(require("../indexers/files/FileIndexer"));
|
|
67
|
-
|
|
68
|
-
var _database = require("../../submodules/database");
|
|
69
|
-
|
|
70
|
-
var _StreamSessionController = _interopRequireDefault(require("../streamSessions/StreamSessionController"));
|
|
71
|
-
|
|
72
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
73
|
-
|
|
74
|
-
class Oblecto {
|
|
75
|
-
constructor(config) {
|
|
76
|
-
this.config = config;
|
|
77
|
-
this.database = (0, _database.initDatabase)();
|
|
78
|
-
this.tvdb = new _nodeTvdb.default(this.config.tvdb.key);
|
|
79
|
-
this.tmdb = new _moviedbPromise.MovieDb(this.config.themoviedb.key);
|
|
80
|
-
this.queue = new _queue.default(this.config.queue.concurrency);
|
|
81
|
-
this.oblectoAPI = new _REST.default(this);
|
|
82
|
-
this.realTimeController = new _RealtimeController.default(this);
|
|
83
|
-
this.downloader = new _downloader.default(this);
|
|
84
|
-
this.fileIndexer = new _FileIndexer.default(this);
|
|
85
|
-
this.seriesIndexer = new _SeriesIndexer.default(this);
|
|
86
|
-
this.movieIndexer = new _MovieIndexer.default(this);
|
|
87
|
-
this.seriesCollector = new _SeriesCollector.default(this);
|
|
88
|
-
this.movieCollector = new _MovieCollector.default(this);
|
|
89
|
-
this.seriesArtworkDownloader = new _SeriesArtworkDownloader.default(this);
|
|
90
|
-
this.movieArtworkDownloader = new _MovieArtworkDownloader.default(this);
|
|
91
|
-
this.movieArtworkCollector = new _MovieArtworkCollector.default(this);
|
|
92
|
-
this.seriesArtworkCollector = new _SeriesArtworkCollector.default(this);
|
|
93
|
-
this.artworkUtils = new _ArtworkUtils.default(this);
|
|
94
|
-
this.imageScaler = new _ArtworkScaler.default(this);
|
|
95
|
-
this.fileUpdater = new _FileUpdater.default(this);
|
|
96
|
-
this.seriesUpdater = new _SeriesUpdater.default(this);
|
|
97
|
-
this.movieUpdater = new _MovieUpdater.default(this);
|
|
98
|
-
this.fileUpdateCollector = new _FileUpdateCollector.default(this);
|
|
99
|
-
this.seriesUpdateCollector = new _SeriesUpdateCollector.default(this);
|
|
100
|
-
this.movieUpdateCollector = new _MovieUpdateCollector.default(this);
|
|
101
|
-
this.fileCleaner = new _FileCleaner.default(this);
|
|
102
|
-
this.movieCleaner = new _MovieCleaner.default(this);
|
|
103
|
-
this.seriesCleaner = new _SeriesCleaner.default(this);
|
|
104
|
-
this.streamSessionController = new _StreamSessionController.default(this);
|
|
105
|
-
|
|
106
|
-
if (config.federation.enable) {
|
|
107
|
-
this.fedartionController = new _FederationController.default(this);
|
|
108
|
-
this.federationClientController = new _FederationClientController.default(this);
|
|
109
|
-
this.federationEpisodeIndexer = new _FederationEpisodeIndexer.default(this);
|
|
110
|
-
this.federationMovieIndexer = new _FederationMovieIndexer.default(this);
|
|
111
|
-
this.federationClientController.addAllSyncMasters();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
close() {
|
|
116
|
-
for (let item of Object.keys(this)) {
|
|
117
|
-
if (this[item].close) {
|
|
118
|
-
this[item].close();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
exports.default = Oblecto;
|