diff --git a/CHANGELOG.md b/CHANGELOG.md index d501bad..1370ac8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,19 @@ # ![Logo](https://github.com/WebTools-NG/WebTools-NG/blob/master/src/assets/WebTools-48x48.png) WebTools-ng Change log -## V0.3.14 (Not yet released) +## V0.3.15 (Not released yet) + +**Note**: This version is an Beta version + +**Note 2**: In this version, the following is disabled: + +* Export to xlsx format ([See #331](https://github.com/WebTools-NG/WebTools-NG/issues/331)) +* Photo export + +**Changes**: + +* [#453 Kickstart Butler Scheduled tasks](https://github.com/WebTools-NG/WebTools-NG/issues/453) + +## V0.3.14 (20220323) **Note**: This version is an Beta version diff --git a/package.json b/package.json index 0d21ff2..f81cf16 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "webtools-ng", "productName": "WebTools-NG", - "version": "0.3.14", + "version": "0.3.15", "description": "WebTools Next Generation 4 Plex", "author": "dane22 & CPSO", "license": "MPL-2.0", diff --git a/public/locales/en.json b/public/locales/en.json index 7169199..25b897e 100644 --- a/public/locales/en.json +++ b/public/locales/en.json @@ -111,7 +111,8 @@ "NavTitle": "Global Settings" }, "PMS": { - "Settings": "Settings" + "Settings": "Settings", + "Butler": "Butler scheduled tasks" } } }, @@ -326,6 +327,29 @@ "Description": "@:Modules.PMS.Name module allows you to manage your server", "ErrorNoServerSelectedTitle": "No server selected", "ErrorNoServerSelectedMsg": "You need to select a server on the top of the screen", + "Butler": { + "Title": "Butler Scheduled Tasks", + "Description": "Here you can kickstart a scheduled task", + "SelectTask": "Select the scheduled task to run now", + "TTSelectTask": "Here you select among the scheduled tasks that kan be started now", + "BackupDatabase": "Backup your database", + "BuildGracenoteCollections": "Build Gracenote Collections", + "CheckForUpdates": "Check for updates", + "CleanOldBundles": "Clean old bundles", + "CleanOldCacheFiles": "Clean old Cache Files", + "DeepMediaAnalysis": "Deep Media Analysis", + "GenerateAutoTags": "Generate Auto Tags", + "GenerateChapterThumbs": "Generate Chapter Thumbs", + "GenerateMediaIndexFiles": "Generate Media Index Files", + "OptimizeDatabase": "Optimize Database", + "RefreshLibraries": "Refresh Libraries", + "RefreshLocalMedia": "Refresh Local Media", + "RefreshPeriodicMetadata": "Refresh Periodic Metadata", + "UpgradeMediaAnalysis": "UpgradeMediaAnalysis", + "RunTask": "Run selected task", + "TaskStarted": "The selected task has been started", + "TaskDetails": "To follow progress, see Plex WebClient Dashboard" + }, "Settings": { "Settings": "Settings", "Description": "Here you can define the settings for the selected server", diff --git a/src/components/layout/Menu.vue b/src/components/layout/Menu.vue index 252b0fb..3724618 100644 --- a/src/components/layout/Menu.vue +++ b/src/components/layout/Menu.vue @@ -57,8 +57,13 @@ href: '/pms/settings', title: this.$t("Common.Menu.Sidebar.PMS.Settings"), icon: 'fa fa-cog' + }, + { + href: '/pms/butler', + title: this.$t("Common.Menu.Sidebar.PMS.Butler"), + icon: 'fa fa-tasks' } - ] + ] }, { href: { path: '/export' }, diff --git a/src/components/modules/ExportTools/defs/def-Levels.json b/src/components/modules/ExportTools/defs/def-Levels.json index 5e2a3c5..ccb28e2 100644 --- a/src/components/modules/ExportTools/defs/def-Levels.json +++ b/src/components/modules/ExportTools/defs/def-Levels.json @@ -58,8 +58,6 @@ "all": 2 }, "Include": { - "GED SLET Level 11": "", - "GED SLET Level 21": "", "Suggest Naming": "includeGuids=1&checkFiles=0&includeRelated=0&includeExtras=0&includeBandwidths=0&includeChapters=0&excludeElements=Actor,Collection,Country,Director,Genre,Label,Mood,Producer,Similar,Writer,Role&excludeFields=summary,tagline", "all": "checkFiles=1&includeExtras=1&includeBandwidths=1&includeChapters=1", "GED SLET Missing1": "includeAllConcerts=1&includeChildren=1&includeConcerts=1&includeFields=1&includeGeolocation=1&includeLoudnessRamps=1&includeMarkers=1&includeOnDeck=1&includePopularLeaves=1&includePreferences=1&includeRelated=1&includeRelatedCount=1&includeReviews=1&includeStations=1", diff --git a/src/components/modules/PMS/Butler/butler.vue b/src/components/modules/PMS/Butler/butler.vue new file mode 100644 index 0000000..3166b15 --- /dev/null +++ b/src/components/modules/PMS/Butler/butler.vue @@ -0,0 +1,152 @@ + + + + {{ $t("Modules.PMS.Butler.Title") }} + {{ $t("Modules.PMS.Butler.Description") }} + + + + + + {{ $t('Modules.PMS.Butler.TTSelectTask') }} + + + + + + + + + + + + {{ $t('Modules.PMS.Butler.RunTask') }} + + + + + + + + diff --git a/src/components/modules/PMS/Settings/settings.vue b/src/components/modules/PMS/Settings/settings.vue index 6e08f0c..d928471 100644 --- a/src/components/modules/PMS/Settings/settings.vue +++ b/src/components/modules/PMS/Settings/settings.vue @@ -149,8 +149,7 @@ log.info("PMS Settings Created"); this.serverSelected(); this.getFilterSettings(); - this.getServerSettings(); - this.getcbDefaults(); + this.getServerSettings(); }, computed: { selectedServerAddress: function(){ diff --git a/src/router/index.js b/src/router/index.js index 55ebf80..8b0ef9a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -8,6 +8,7 @@ import ExportCustom from '../components/modules/ExportTools/Custom/custom'; import PlexTV from '../components/modules/PlexTV/PlexTV'; import PMS from '../components/modules/PMS/PMS'; import PMSSettings from '../components/modules/PMS/Settings/settings'; +import Butler from '../components/modules/PMS/Butler/butler'; import Language from '../components/modules/Main/Language.vue'; import GlobalSettings from '../components/modules/Main/GlobalSettings'; import About from '../components/modules/Main/About'; @@ -68,6 +69,12 @@ Vue.use(VueRouter) component: PMSSettings, meta: {requiresAuth: true} }, + { + path: '/pms/butler', + name: "butler", + component: Butler, + meta: {requiresAuth: true} + }, { path: '/plextv', name: "plextv", diff --git a/src/store/modules/pms.js b/src/store/modules/pms.js index 2afc7e7..1384806 100644 --- a/src/store/modules/pms.js +++ b/src/store/modules/pms.js @@ -20,6 +20,35 @@ const getters = { } const actions = { + async startButlerTask({ commit }, payload) { + + commit + + let header = wtutils.PMSHeader; + header['X-Plex-Token'] = payload.Token; + const url = `${payload.Address}/butler/${payload.Job}`; + log.debug(`Setting new setting with url ${url}`); + await axios({ + method: 'post', + url: url, + headers: header + }) + .then((response) => { + log.debug('Response from startButlerTask recieved') + response + }) + .catch(function (error) { + if (error.response) { + log.error('startButlerTask: ' + error.response.data) + alert(error.response.data.errors[0].code + " " + error.response.data.errors[0].message) + } else if (error.request) { + log.error('startButlerTask: ' + error.request) + } else { + log.error('startButlerTask: ' + error.message) + } + }); + + }, async setPMSSetting({ commit }, payload) { commit
{{ $t("Modules.PMS.Butler.Description") }}