From 74ad5a0eb34454090251d39951a5f3a6c5416565 Mon Sep 17 00:00:00 2001 From: dularion Date: Sun, 19 May 2019 21:45:59 +0200 Subject: [PATCH] add handling for subtitles for EPISODES for bulkCreation --- .../controllers/createFromFileCtrl.modal.js | 2 +- .../services/streama/BulkCreateService.groovy | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/grails-app/assets/javascripts/streama/controllers/createFromFileCtrl.modal.js b/grails-app/assets/javascripts/streama/controllers/createFromFileCtrl.modal.js index 68206c483..3d5857573 100644 --- a/grails-app/assets/javascripts/streama/controllers/createFromFileCtrl.modal.js +++ b/grails-app/assets/javascripts/streama/controllers/createFromFileCtrl.modal.js @@ -50,7 +50,7 @@ function modalCreateFromFileCtrl($scope, $uibModalInstance, apiService, uploadSe } function openAdminForm(mediaObject) { - var url = $state.href('admin.' + mediaObject.importedType, {showId: mediaObject.importedId, movieId: mediaObject.importedId}); + var url = $state.href('admin.' + mediaObject.importedType, {showId: mediaObject.importedId, movieId: mediaObject.importedId, season: mediaObject.season}); window.open(url,'_blank'); } diff --git a/grails-app/services/streama/BulkCreateService.groovy b/grails-app/services/streama/BulkCreateService.groovy index 2633dbc52..d2935f197 100644 --- a/grails-app/services/streama/BulkCreateService.groovy +++ b/grails-app/services/streama/BulkCreateService.groovy @@ -134,6 +134,7 @@ class BulkCreateService { def seasonNumber = tvShowMatcher.group('Season').toInteger() def episodeNumber = tvShowMatcher.group('Episode').toInteger() fileResult.type = "tv" + Boolean isSubtitle = VideoHelper.isSubtitleFile(fileResult.file) try { TvShow existingTvShow @@ -153,7 +154,11 @@ class BulkCreateService { if(!seasonNumber && !episodeNumber){ if(existingTvShow){ - fileResult.status = MATCHER_STATUS.EXISTING + if(isSubtitle){ + fileResult.status = MATCHER_STATUS.EXISTING_FOR_SUBTITLE + }else{ + fileResult.status = MATCHER_STATUS.EXISTING + } fileResult.importedId =existingTvShow.id fileResult.importedType = STREAMA_ROUTES[fileResult.type] } @@ -168,6 +173,9 @@ class BulkCreateService { fileResult.name = name } fileResult.status = fileResult.status ?: MATCHER_STATUS.MATCH_FOUND + if(fileResult.status == MATCHER_STATUS.MATCH_FOUND && isSubtitle){ + fileResult.status = MATCHER_STATUS.SUBTITLE_MATCH + } fileResult.message = 'match found' fileResult.type = fileResult.type fileResult.season = seasonNumber @@ -176,6 +184,7 @@ class BulkCreateService { private extractDataForEpisode(TvShow existingTvShow, seasonNumber, episodeNumber, fileResult, tvShowId) { fileResult.type = 'episode' + Boolean isSubtitle = VideoHelper.isSubtitleFile(fileResult.file) Episode existingEpisode if (existingTvShow) { @@ -188,7 +197,7 @@ class BulkCreateService { } if (existingEpisode) { - fileResult.status = MATCHER_STATUS.EXISTING + fileResult.status = isSubtitle ? MATCHER_STATUS.EXISTING_FOR_SUBTITLE : MATCHER_STATUS.EXISTING fileResult.importedId = existingEpisode.showId fileResult.importedType = STREAMA_ROUTES[fileResult.type] fileResult.apiId = existingEpisode.apiId @@ -197,7 +206,7 @@ class BulkCreateService { def episodeResult = theMovieDbService.getEpisodeMeta(tvShowId, seasonNumber, episodeNumber) existingEpisode = Episode.findByApiIdAndDeletedNotEqual(episodeResult.id, true) if (existingEpisode) { - fileResult.status = MATCHER_STATUS.EXISTING + fileResult.status = isSubtitle ? MATCHER_STATUS.EXISTING_FOR_SUBTITLE : MATCHER_STATUS.EXISTING fileResult.importedId = existingEpisode.showId fileResult.importedType = STREAMA_ROUTES[fileResult.type] }