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,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _path = _interopRequireDefault(require("path"));
|
|
9
|
-
|
|
10
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
-
|
|
12
|
-
var _sequelize = _interopRequireDefault(require("sequelize"));
|
|
13
|
-
|
|
14
|
-
var _sharp = _interopRequireDefault(require("sharp"));
|
|
15
|
-
|
|
16
|
-
var _auth = _interopRequireDefault(require("../middleware/auth"));
|
|
17
|
-
|
|
18
|
-
var _restifyErrors = _interopRequireDefault(require("restify-errors"));
|
|
19
|
-
|
|
20
|
-
var _series = require("../../../models/series");
|
|
21
|
-
|
|
22
|
-
var _episode = require("../../../models/episode");
|
|
23
|
-
|
|
24
|
-
var _trackEpisode = require("../../../models/trackEpisode");
|
|
25
|
-
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
|
-
const Op = _sequelize.default.Op;
|
|
29
|
-
|
|
30
|
-
var _default = (server, oblecto) => {
|
|
31
|
-
server.get('/series/list/:sorting', _auth.default.requiresAuth, async function (req, res, next) {
|
|
32
|
-
const limit = parseInt(req.query.count) || 20;
|
|
33
|
-
const page = parseInt(req.query.page) || 0;
|
|
34
|
-
if (!Number.isInteger(limit) || !Number.isInteger(page)) return next(new _restifyErrors.default.BadRequestError('Limit or Page must be a number'));
|
|
35
|
-
let AllowedOrders = ['desc', 'asc'];
|
|
36
|
-
if (AllowedOrders.indexOf(req.query.order.toLowerCase()) === -1) return next(new _restifyErrors.default.BadRequestError('Sorting order is invalid'));
|
|
37
|
-
if (!(req.params.sorting in _series.Series.rawAttributes)) return next(new _restifyErrors.default.BadRequestError('Sorting method is invalid'));
|
|
38
|
-
let results = await _series.Series.findAll({
|
|
39
|
-
order: [[req.params.sorting, req.query.order]],
|
|
40
|
-
limit,
|
|
41
|
-
offset: limit * page
|
|
42
|
-
});
|
|
43
|
-
res.send(results);
|
|
44
|
-
});
|
|
45
|
-
server.get('/series/:id/info', _auth.default.requiresAuth, async function (req, res) {
|
|
46
|
-
let show = await _series.Series.findByPk(req.params.id);
|
|
47
|
-
if (show.genre) show.genre = JSON.parse(show.genre);
|
|
48
|
-
res.send(show);
|
|
49
|
-
}); // Endpoint to get all episodes within a series
|
|
50
|
-
|
|
51
|
-
server.get('/series/:id/episodes', _auth.default.requiresAuth, async function (req, res) {
|
|
52
|
-
let show = await _episode.Episode.findAll({
|
|
53
|
-
include: [_series.Series, {
|
|
54
|
-
model: _trackEpisode.TrackEpisode,
|
|
55
|
-
required: false,
|
|
56
|
-
where: {
|
|
57
|
-
userId: req.authorization.user.id
|
|
58
|
-
}
|
|
59
|
-
}],
|
|
60
|
-
where: {
|
|
61
|
-
SeriesId: req.params.id
|
|
62
|
-
},
|
|
63
|
-
order: [['airedSeason', 'ASC'], ['airedEpisodeNumber', 'ASC']]
|
|
64
|
-
});
|
|
65
|
-
res.send(show);
|
|
66
|
-
});
|
|
67
|
-
server.get('/series/:id/poster', async function (req, res, next) {
|
|
68
|
-
let show;
|
|
69
|
-
|
|
70
|
-
try {
|
|
71
|
-
show = await _series.Series.findByPk(req.params.id);
|
|
72
|
-
} catch (e) {
|
|
73
|
-
return next(new _restifyErrors.default.NotFoundError('Series does not exist'));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
let imagePath = oblecto.artworkUtils.seriesPosterPath(show, req.params.size || 'medium');
|
|
77
|
-
|
|
78
|
-
_fs.default.createReadStream(imagePath).on('error', () => {
|
|
79
|
-
return next(new _restifyErrors.default.NotFoundError('No poster found'));
|
|
80
|
-
}).pipe(res);
|
|
81
|
-
});
|
|
82
|
-
server.put('/series/:id/poster', _auth.default.requiresAuth, async function (req, res, next) {
|
|
83
|
-
let show = await _series.Series.findByPk(req.params.id);
|
|
84
|
-
|
|
85
|
-
if (!show) {
|
|
86
|
-
return next(new _restifyErrors.default.NotFoundError('Movie does not exist'));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
let posterPath = _path.default.normalize(oblecto.config.assets.showPosterLocation) + '/' + show.id + '.jpg';
|
|
90
|
-
|
|
91
|
-
if (oblecto.config.assets.storeWithFile) {
|
|
92
|
-
let showPath = show.directory;
|
|
93
|
-
posterPath = _path.default.join(showPath, show.seriesName + '-poster.jpg');
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (req.files.length < 1) {
|
|
97
|
-
return next(new _restifyErrors.default.MissingParameterError('Image file is missing'));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
let uploadPath = req.files[Object.keys(req.files)[0]].path;
|
|
101
|
-
|
|
102
|
-
try {
|
|
103
|
-
let image = await (0, _sharp.default)(uploadPath);
|
|
104
|
-
let metadata = await image.metadata();
|
|
105
|
-
let ratio = metadata.height / metadata.width;
|
|
106
|
-
|
|
107
|
-
if (!(1 <= ratio <= 2)) {
|
|
108
|
-
return next(new _restifyErrors.default.InvalidContentError('Image aspect ratio is incorrect'));
|
|
109
|
-
}
|
|
110
|
-
} catch (e) {
|
|
111
|
-
return next(new _restifyErrors.default.InvalidContentError('File is not an image'));
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
try {
|
|
115
|
-
_fs.default.copyFile(uploadPath, posterPath, err => {
|
|
116
|
-
if (err) throw err;
|
|
117
|
-
res.send(['success']);
|
|
118
|
-
});
|
|
119
|
-
} catch (e) {
|
|
120
|
-
return next(new _restifyErrors.default.InternalError('An error has occurred during upload of poster'));
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
next();
|
|
124
|
-
});
|
|
125
|
-
server.get('/shows/search/:name', _auth.default.requiresAuth, async function (req, res) {
|
|
126
|
-
let series = await _series.Series.findAll({
|
|
127
|
-
where: {
|
|
128
|
-
seriesName: {
|
|
129
|
-
[Op.like]: '%' + req.params.name + '%'
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
res.send(series);
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
exports.default = _default;
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _restifyErrors = _interopRequireDefault(require("restify-errors"));
|
|
9
|
-
|
|
10
|
-
var _bcrypt = _interopRequireDefault(require("bcrypt"));
|
|
11
|
-
|
|
12
|
-
var _config = _interopRequireDefault(require("../../../config"));
|
|
13
|
-
|
|
14
|
-
var _auth = _interopRequireDefault(require("../middleware/auth"));
|
|
15
|
-
|
|
16
|
-
var _user = require("../../../models/user");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
var _default = (server, oblecto) => {
|
|
21
|
-
server.get('/users', async function (req, res, next) {
|
|
22
|
-
let users = await _user.User.findAll({
|
|
23
|
-
attributes: ['username', 'name', 'email', 'id']
|
|
24
|
-
});
|
|
25
|
-
res.send(users);
|
|
26
|
-
next();
|
|
27
|
-
});
|
|
28
|
-
server.get('/user/:id', _auth.default.requiresAuth, async function (req, res, next) {
|
|
29
|
-
let user = await _user.User.findOne({
|
|
30
|
-
where: {
|
|
31
|
-
id: req.params.id
|
|
32
|
-
},
|
|
33
|
-
attributes: ['username', 'name', 'email', 'id']
|
|
34
|
-
});
|
|
35
|
-
res.send(user);
|
|
36
|
-
next();
|
|
37
|
-
});
|
|
38
|
-
server.del('/user/:id', _auth.default.requiresAuth, async function (req, res, next) {
|
|
39
|
-
let user = await _user.User.findOne({
|
|
40
|
-
where: {
|
|
41
|
-
id: req.params.id
|
|
42
|
-
},
|
|
43
|
-
attributes: ['username', 'name', 'email', 'id']
|
|
44
|
-
}); // Send the user information of the user to the client first
|
|
45
|
-
|
|
46
|
-
res.send(user); // Now delete the user
|
|
47
|
-
|
|
48
|
-
user.destroy();
|
|
49
|
-
next();
|
|
50
|
-
}); // Endpoint to update the entries of a certain user
|
|
51
|
-
|
|
52
|
-
server.put('/user/:id', _auth.default.requiresAuth, async function (req, res, next) {
|
|
53
|
-
let user = await _user.User.findByPk(req.params.id);
|
|
54
|
-
|
|
55
|
-
if (!user) {
|
|
56
|
-
return next(new _restifyErrors.default.BadRequestError('User with id does not exist'));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (req.params.username) {
|
|
60
|
-
user.update({
|
|
61
|
-
username: req.params.username
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (req.params.password) {
|
|
66
|
-
user.update({
|
|
67
|
-
password: await _bcrypt.default.hash(req.params.password, _config.default.authentication.saltRounds)
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (req.params.email) {
|
|
72
|
-
user.update({
|
|
73
|
-
email: req.params.email
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
if (req.params.name) {
|
|
78
|
-
user.update({
|
|
79
|
-
name: req.params.name
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
next();
|
|
84
|
-
});
|
|
85
|
-
server.post('/user', _auth.default.requiresAuth, async function (req, res, next) {
|
|
86
|
-
// Make sure the required input fields are present, and if not send a bad request error with the associated information to the error
|
|
87
|
-
if (!req.params.username) return next(new _restifyErrors.default.BadRequestError('Username is missing'));
|
|
88
|
-
if (!req.params.email) return next(new _restifyErrors.default.BadRequestError('E-Mail is missing'));
|
|
89
|
-
if (!req.params.name) return next(new _restifyErrors.default.BadRequestError('Name is missing'));
|
|
90
|
-
let passwordHash;
|
|
91
|
-
if (req.params.password) passwordHash = await _bcrypt.default.hash(req.params.password, oblecto.config.authentication.saltRounds);
|
|
92
|
-
let [user] = await _user.User.findOrCreate({
|
|
93
|
-
where: {
|
|
94
|
-
username: req.params.username
|
|
95
|
-
},
|
|
96
|
-
defaults: {
|
|
97
|
-
name: req.params.name,
|
|
98
|
-
email: req.params.email,
|
|
99
|
-
password: passwordHash
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
res.send(user);
|
|
103
|
-
next();
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
exports.default = _default;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _restify = _interopRequireDefault(require("restify"));
|
|
9
|
-
|
|
10
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
var _default = (server, oblecto) => {
|
|
15
|
-
server.get('/web/static/*', _restify.default.plugins.serveStatic({
|
|
16
|
-
directory: __dirname + '/../../../../Oblecto-Web/dist/'
|
|
17
|
-
}));
|
|
18
|
-
server.get('/web/logo.png', async (req, res, next) => {
|
|
19
|
-
_fs.default.readFile(__dirname + '/../../../../images/logomark.png', function (err, body) {
|
|
20
|
-
res.writeHead(200, {
|
|
21
|
-
'Content-Length': Buffer.byteLength(body),
|
|
22
|
-
'Content-Type': 'image/png'
|
|
23
|
-
});
|
|
24
|
-
res.write(body);
|
|
25
|
-
res.end();
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
server.get('/web*', async (req, res, next) => {
|
|
29
|
-
_fs.default.readFile(__dirname + '/../../../../Oblecto-Web/dist/web/index.html', 'utf8', function (err, body) {
|
|
30
|
-
res.writeHead(200, {
|
|
31
|
-
'Content-Length': Buffer.byteLength(body),
|
|
32
|
-
'Content-Type': 'text/html'
|
|
33
|
-
});
|
|
34
|
-
res.write(body);
|
|
35
|
-
res.end();
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
server.get('/', async (req, res, next) => {
|
|
39
|
-
res.redirect('/web', next);
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
exports.default = _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function _default(...args: any[]): Promise<any>;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = _default;
|
|
7
|
-
|
|
8
|
-
var _WarnExtendableError = _interopRequireDefault(require("../lib/errors/WarnExtendableError"));
|
|
9
|
-
|
|
10
|
-
var _axios = _interopRequireDefault(require("axios"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function _default(...args) {
|
|
15
|
-
return new Promise(function (resolve, reject) {
|
|
16
|
-
let timedout = false;
|
|
17
|
-
let timeout = setTimeout(() => {
|
|
18
|
-
timedout = true;
|
|
19
|
-
reject(new _WarnExtendableError.default(`Axios timeout failed and promise timeout expired for ${args[0].url}`));
|
|
20
|
-
}, 20000);
|
|
21
|
-
args[0].timeout = 10000;
|
|
22
|
-
(0, _axios.default)(...args).then(response => {
|
|
23
|
-
if (timedout) return;
|
|
24
|
-
clearTimeout(timeout);
|
|
25
|
-
resolve(response);
|
|
26
|
-
}).catch(err => {
|
|
27
|
-
clearTimeout(timeout);
|
|
28
|
-
reject(err);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function initDatabase(): any;
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.initDatabase = initDatabase;
|
|
7
|
-
|
|
8
|
-
var _sequelize = _interopRequireDefault(require("sequelize"));
|
|
9
|
-
|
|
10
|
-
var _config = _interopRequireDefault(require("../config.js"));
|
|
11
|
-
|
|
12
|
-
var _logger = _interopRequireDefault(require("./logger"));
|
|
13
|
-
|
|
14
|
-
var _episode = require("../models/episode");
|
|
15
|
-
|
|
16
|
-
var _episodeFiles = require("../models/episodeFiles");
|
|
17
|
-
|
|
18
|
-
var _file = require("../models/file");
|
|
19
|
-
|
|
20
|
-
var _movie = require("../models/movie");
|
|
21
|
-
|
|
22
|
-
var _series = require("../models/series");
|
|
23
|
-
|
|
24
|
-
var _movieFiles = require("../models/movieFiles");
|
|
25
|
-
|
|
26
|
-
var _movieSet = require("../models/movieSet");
|
|
27
|
-
|
|
28
|
-
var _seriesSet = require("../models/seriesSet");
|
|
29
|
-
|
|
30
|
-
var _trackMovie = require("../models/trackMovie");
|
|
31
|
-
|
|
32
|
-
var _trackEpisode = require("../models/trackEpisode");
|
|
33
|
-
|
|
34
|
-
var _user = require("../models/user");
|
|
35
|
-
|
|
36
|
-
var _stream = require("../models/stream");
|
|
37
|
-
|
|
38
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
39
|
-
|
|
40
|
-
function initDatabase() {
|
|
41
|
-
let dialect = _config.default.database.dialect || 'sqlite';
|
|
42
|
-
let poolmax = _config.default.queue.concurrency;
|
|
43
|
-
|
|
44
|
-
if (dialect === 'sqlite') {
|
|
45
|
-
_logger.default.log('INFO', 'Using SQLITE, setting poolmax to 1');
|
|
46
|
-
|
|
47
|
-
poolmax = 1;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
let options = {
|
|
51
|
-
dialect,
|
|
52
|
-
logging: false,
|
|
53
|
-
//operatorsAliases: false,
|
|
54
|
-
pool: {
|
|
55
|
-
max: poolmax,
|
|
56
|
-
min: 0,
|
|
57
|
-
acquire: 30000,
|
|
58
|
-
idle: 10000
|
|
59
|
-
},
|
|
60
|
-
retry: {
|
|
61
|
-
max: 5
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
if (options.dialect !== 'sqlite') {
|
|
66
|
-
options.host = _config.default.database.host || 'localhost';
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (options.dialect === 'sqlite') {
|
|
70
|
-
options.storage = _config.default.database.storage || '/etc/oblecto/database.sqlite';
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const sequelize = new _sequelize.default(_config.default.database.database, _config.default.database.username, _config.default.database.password, options);
|
|
74
|
-
|
|
75
|
-
_episode.Episode.init(_episode.episodeColumns, {
|
|
76
|
-
sequelize
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
_movie.Movie.init(_movie.movieColumns, {
|
|
80
|
-
sequelize
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
_series.Series.init(_series.seriesColumns, {
|
|
84
|
-
sequelize
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
_file.File.init(_file.fileColumns, {
|
|
88
|
-
sequelize
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
_stream.Stream.init(_stream.streamColumns, {
|
|
92
|
-
sequelize
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
_episodeFiles.EpisodeFiles.init(_episodeFiles.episodeFilesColumns, {
|
|
96
|
-
sequelize
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
_movieFiles.MovieFiles.init(_movieFiles.movieFileColumns, {
|
|
100
|
-
sequelize
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
_movieSet.MovieSet.init(_movieSet.movieSetColumns, {
|
|
104
|
-
sequelize
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
_seriesSet.SeriesSet.init(_seriesSet.seriesSetColumns, {
|
|
108
|
-
sequelize
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
_trackMovie.TrackMovie.init(_trackMovie.trackMovieColumns, {
|
|
112
|
-
sequelize
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
_trackEpisode.TrackEpisode.init(_trackEpisode.trackEpisodesColumns, {
|
|
116
|
-
sequelize
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
_user.User.init(_user.userColumns, {
|
|
120
|
-
sequelize
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
_episode.Episode.belongsTo(_series.Series);
|
|
124
|
-
|
|
125
|
-
_series.Series.hasMany(_episode.Episode);
|
|
126
|
-
|
|
127
|
-
_movieSet.MovieSet.belongsToMany(_movie.Movie, {
|
|
128
|
-
through: 'MovieSetAllocations'
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
_movieSet.MovieSet.belongsToMany(_user.User, {
|
|
132
|
-
through: 'MovieSetUsers'
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
_movie.Movie.belongsToMany(_movieSet.MovieSet, {
|
|
136
|
-
through: 'MovieSetAllocations'
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
_seriesSet.SeriesSet.belongsToMany(_series.Series, {
|
|
140
|
-
through: 'SeriesSetAllocations'
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
_series.Series.belongsToMany(_seriesSet.SeriesSet, {
|
|
144
|
-
through: 'SeriesSetAllocations'
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
_episode.Episode.belongsToMany(_file.File, {
|
|
148
|
-
through: _episodeFiles.EpisodeFiles
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
_movie.Movie.belongsToMany(_file.File, {
|
|
152
|
-
through: _movieFiles.MovieFiles
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
_file.File.belongsToMany(_episode.Episode, {
|
|
156
|
-
through: _episodeFiles.EpisodeFiles
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
_file.File.belongsToMany(_movie.Movie, {
|
|
160
|
-
through: _movieFiles.MovieFiles
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
_stream.Stream.belongsTo(_file.File);
|
|
164
|
-
|
|
165
|
-
_file.File.hasMany(_stream.Stream);
|
|
166
|
-
|
|
167
|
-
_trackEpisode.TrackEpisode.belongsTo(_user.User);
|
|
168
|
-
|
|
169
|
-
_trackEpisode.TrackEpisode.belongsTo(_episode.Episode);
|
|
170
|
-
|
|
171
|
-
_trackMovie.TrackMovie.belongsTo(_user.User);
|
|
172
|
-
|
|
173
|
-
_trackMovie.TrackMovie.belongsTo(_movie.Movie);
|
|
174
|
-
|
|
175
|
-
_episode.Episode.hasMany(_trackEpisode.TrackEpisode);
|
|
176
|
-
|
|
177
|
-
_movie.Movie.hasMany(_trackMovie.TrackMovie);
|
|
178
|
-
|
|
179
|
-
return sequelize;
|
|
180
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default ffmpeg;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _fluentFfmpeg = _interopRequireDefault(require("fluent-ffmpeg"));
|
|
9
|
-
|
|
10
|
-
var _config = _interopRequireDefault(require("../config"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
if (_config.default.ffmpeg.pathFFprobe) {
|
|
15
|
-
_fluentFfmpeg.default.setFfprobePath(_config.default.ffmpeg.pathFFprobe);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (_config.default.ffmpeg.pathFFmpeg) {
|
|
19
|
-
_fluentFfmpeg.default.setFfmpegPath(_config.default.ffmpeg.pathFFmpeg);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var _default = _fluentFfmpeg.default;
|
|
23
|
-
exports.default = _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ffprobe(path: any): Promise<any>;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = ffprobe;
|
|
7
|
-
|
|
8
|
-
var _ffmpeg = _interopRequireDefault(require("./ffmpeg"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
function ffprobe(path) {
|
|
13
|
-
return new Promise(function (resolve, reject) {
|
|
14
|
-
_ffmpeg.default.ffprobe(path, function (err, metadata) {
|
|
15
|
-
if (err) {
|
|
16
|
-
return reject(err);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return resolve(metadata);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
}
|
|
@@ -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 _guessitWrapper = _interopRequireDefault(require("guessit-wrapper"));
|
|
9
|
-
|
|
10
|
-
var _guessitExec = _interopRequireDefault(require("guessit-exec"));
|
|
11
|
-
|
|
12
|
-
var _which = _interopRequireDefault(require("which"));
|
|
13
|
-
|
|
14
|
-
var _logger = _interopRequireDefault(require("./logger"));
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
let use_binary = false;
|
|
19
|
-
(0, _which.default)('guessit', function (err, resolvedPath) {
|
|
20
|
-
if (err) {
|
|
21
|
-
_logger.default.log('INFO', 'Guessit binary has not been found');
|
|
22
|
-
|
|
23
|
-
_logger.default.log('INFO', 'Using the web based identifier');
|
|
24
|
-
|
|
25
|
-
_logger.default.log('INFO', 'This may significantly reduce indexing speeds');
|
|
26
|
-
|
|
27
|
-
_logger.default.log('INFO', 'Please install guessit from your package manager');
|
|
28
|
-
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
_logger.default.log('INFO', 'Guessit binary has been found');
|
|
33
|
-
|
|
34
|
-
_logger.default.log('INFO', 'Using local guessit binary');
|
|
35
|
-
|
|
36
|
-
use_binary = true;
|
|
37
|
-
});
|
|
38
|
-
var _default = {
|
|
39
|
-
async identify(search) {
|
|
40
|
-
if (use_binary) {
|
|
41
|
-
return (0, _guessitExec.default)(search);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return _guessitWrapper.default.parseName(search);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
};
|
|
48
|
-
exports.default = _default;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _events = require("events");
|
|
9
|
-
|
|
10
|
-
class Logger extends _events.EventEmitter {
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
this.silent = false;
|
|
14
|
-
this.on('log', log => {
|
|
15
|
-
if (this.silent) return; //if (log.level === 'DEBUG') return;
|
|
16
|
-
|
|
17
|
-
if (log instanceof Error) {
|
|
18
|
-
console.log(log.level, log);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
console.log(log.level, ...log.messages);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
log(level, ...messages) {
|
|
27
|
-
// If an error was passed right into the log function
|
|
28
|
-
if (level instanceof Error) {
|
|
29
|
-
this.emit('log', level);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
this.emit('log', {
|
|
34
|
-
level,
|
|
35
|
-
messages
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
var _default = new Logger();
|
|
42
|
-
|
|
43
|
-
exports.default = _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function _default(promise: any, time: any): Promise<any>;
|