Merge pull request #142 from WebTools-NG/#94-Export-Episodes-as-well

Started on #131
This commit is contained in:
Tommy Mikkelsen 2020-09-06 03:53:46 +02:00 committed by GitHub
commit aac7388ca8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 1090 additions and 7 deletions

View file

@ -5,7 +5,10 @@
"About": "@:Common.AppName provides different tool modules to help with Plex Server management.", "About": "@:Common.AppName provides different tool modules to help with Plex Server management.",
"Modules": "Currently available tool modules are:", "Modules": "Currently available tool modules are:",
"Name": "Home", "Name": "Home",
"Title": "Welcome to @:Common.AppName" "Title": "Welcome to @:Common.AppName",
"LangUpdateTitle": "Language update",
"LangUpdateMsg": "{0} Language has been updated on the translation site",
"LangUpdateMsg2": "Please go to Language section and select '{0}'"
}, },
"Language": { "Language": {
"Description": "@:Common.Language.Name allows you to change language of the app", "Description": "@:Common.Language.Name allows you to change language of the app",

View file

@ -18,7 +18,63 @@
</template> </template>
<script> <script>
const log = require('electron-log');
import i18n from '../i18n';
import {wtutils, wtconfig} from '../wtutils'
export default { export default {
mounted() {
log.info("About Mounted");
this.checkLangUpdates();
},
methods: {
async checkLangUpdates() {
// Start by getting the currently selected language
const selLang = wtconfig.get('General.language');
const selLangUpdated = wtconfig.get(`Languages.${selLang}`, 'N/A')
console.log('Ged selLang: ' + selLang)
console.log('Ged selLangUpdated: ' + selLangUpdated)
var onlineLangs = await this.$store.getters.getLanguages
for (var i=0; i<onlineLangs.length; i++) {
if (onlineLangs[i]['code'] == selLang)
{
if ( onlineLangs[i]['updated'] != selLangUpdated)
{
console.log('Ged update needed for : ' + onlineLangs[i]['name'])
//const bodyStr = i18n.t("Common.Home.LangUpdateMsg") + '</br>' + i18n.t("Common.Home.LangUpdateMsg2");
//const bodyStr = 'Test'
/* this.$bvToast.toast("Test"), {
// title: this.$t("Common.Home.LangUpdateTitle"),
title: "Ged title",
autoHideDelay: 3000,
solid: true,
//enableHtml: true,
variant: 'primary',
toaster: 'b-toaster-bottom-right'
} */
const bodyStr = i18n.t("Common.Home.LangUpdateMsg", [onlineLangs[i]['name']]) + '. ' + i18n.t("Common.Home.LangUpdateMsg2", [i18n.t("Common.Language.btnForce")]);
//this.$bvToast.toast(this.$t("Modules.ET.ErrorNoServerSelectedMsg"), {
this.$bvToast.toast(bodyStr, {
//title: this.$t("Modules.ET.ErrorNoServerSelectedTitle"),
title: this.$t("Common.Home.LangUpdateTitle"),
autoHideDelay: 400000,
solid: true,
variant: 'primary',
toaster: 'b-toaster-bottom-right'
});
}
}
}
selLang, i18n, wtutils, selLangUpdated
}
}
} }
</script> </script>

View file

@ -87,6 +87,7 @@
// User Config // User Config
import i18n from '../i18n'; import i18n from '../i18n';
import { shell } from 'electron'; import { shell } from 'electron';
import { wtconfig} from '../wtutils'
const log = require('electron-log'); const log = require('electron-log');
export default { export default {
@ -105,6 +106,21 @@ export default {
this.olLangs = []; this.olLangs = [];
await this.$store.dispatch("updateAndSetLang", { "langCode": i18n.locale, "forceDownload": true}); await this.$store.dispatch("updateAndSetLang", { "langCode": i18n.locale, "forceDownload": true});
this.getOnlineLangs(); this.getOnlineLangs();
console.log('Ged lang time: ' + i18n.locale)
//const langTimeStamp = 'ged223344'
// Get timeStamp
let timeStamp = ''
var onlineLangs = await this.$store.getters.getLanguages
for (var i=0; i<onlineLangs.length; i++) {
if (onlineLangs[i]['code'] == i18n.locale)
{
timeStamp = onlineLangs[i]['updated']
}
}
// Update settings with timestamp
wtconfig.set(`Languages.${i18n.locale}`, timeStamp)
}, },
joinPOE() { joinPOE() {
shell.openExternal("https://github.com/WebTools-NG/WebTools-NG/wiki/Translator") shell.openExternal("https://github.com/WebTools-NG/WebTools-NG/wiki/Translator")

View file

@ -0,0 +1,958 @@
{
"movie": {
"fields": {
"Media ID":
{
"key": "$.ratingKey",
"call": 1,
"type": "string"
},
"Title":
{
"key": "$.title",
"call": 1,
"type": "string"
},
"Sort title":
{
"key": "$.titleSort",
"call": 1,
"type": "string"
},
"Studio":
{
"key": "$.studio",
"call": 1,
"type": "string"
},
"Content Rating":
{
"key": "$.contentRating",
"call": 1,
"type": "string"
},
"Year":
{
"key": "$.year",
"call": 1,
"type": "string"
},
"Rating":
{
"key": "$.rating",
"call": 1,
"type": "string"
},
"Summary":
{
"key": "$.summary",
"call": 1,
"type": "string"
},
"Genre":
{
"key": "$.Genre[*]",
"call": 1,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"View Count":
{
"key": "viewCount",
"call": 1,
"type": "string"
},
"Last Viewed at":
{
"key": "$..lastViewedAt",
"call": 1,
"type": "datetime"
},
"Tagline":
{
"key": "tagline",
"call": 1,
"type": "string"
},
"Release Date":
{
"key": "$..originallyAvailableAt",
"call": 1,
"type": "string"
},
"Writers":
{
"key": "$.Writer[*]",
"call": 1,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Country":
{
"key": "$.Country[*]",
"call": 1,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Duration":
{
"key": "$.duration",
"call": 1,
"type": "time"
},
"Directors":
{
"key": "$.Director[*]",
"call": 1,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Roles":
{
"key": "$.Role[*]",
"call": 1,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Audience Rating":
{
"key": "audienceRating",
"call": 1,
"type": "string"
},
"User Rating":
{
"key": "userRating",
"call": 1,
"type": "string"
},
"Labels":
{
"key": "$.Label[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Locked Fields":
{
"key": "$.Field[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.name"
},
"Extras":
{
"key": "$.Extras.size",
"call": 2,
"type": "int"
},
"Extras-behindthescenes":
{
"key": "$..Extras.Metadata[?(@.subtype=='behindTheScenes')].ratingKey",
"call": 2,
"type": "array-count"
},
"Extras-deleted":
{
"key": "$..Extras.Metadata[?(@.subtype=='deleted')].ratingKey",
"call": 2,
"type": "array-count"
},
"Extras-featurette":
{
"key": "$..Extras.Metadata[?(@.subtype=='featurette')].ratingKey",
"call": 2,
"type": "array-count"
},
"Extras-interview":
{
"key": "$..Extras.Metadata[?(@.subtype=='interview')].ratingKey",
"call": 2,
"type": "array-count"
},
"Extras-scene":
{
"key": "$..Extras.Metadata[?(@.subtype=='scene')].ratingKey",
"call": 2,
"type": "array-count"
},
"Extras-short":
{
"key": "$..Extras.Metadata[?(@.subtype=='short')].ratingKey",
"call": 2,
"type": "array-count"
},
"Extras-trailer":
{
"key": "$..Extras.Metadata[?(@.subtype=='trailer')].ratingKey",
"call": 2,
"type": "array-count"
},
"Collections":
{
"key": "$.Collection[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Original Title":
{
"key": "$..originalTitle",
"call": 2,
"type": "string",
"postProcess": true
},
"Added":
{
"key": "$.addedAt",
"call": 1,
"type": "datetime"
},
"Updated":
{
"key": "$.updatedAt",
"call": 1,
"type": "datetime"
},
"Audio Languages":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.languageCode"
},
"Audio Title":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.title"
},
"Subtitle Languages":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.languageCode"
},
"Subtitle Title":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.title"
},
"Subtitle Codec":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.codec"
},
"Subtitle Forced":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.forced"
},
"Accessible":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.accessible"
},
"Exists":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.exists"
},
"MetaDB Link":
{
"key": "$.guid",
"call": 2,
"type": "string",
"postProcess": true
},
"MetaData Language":
{
"key": "$.guid",
"call": 2,
"type": "string",
"postProcess": true
},
"Poster url":
{
"key": "$.thumb",
"call": 2,
"type": "string"
},
"Art url":
{
"key": "$.art",
"call": 2,
"type": "string"
},
"Chapter Source":
{
"key": "$.chapterSource",
"call": 2,
"type": "string"
},
"Chapter Title":
{
"key": "$.Chapter[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.tag"
},
"Chapter Count":
{
"key": "$..Chapter[*]",
"call": 2,
"type": "array-count"
},
"Video Resolution":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.videoResolution"
},
"Bitrate":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.bitrate"
},
"Width":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.width"
},
"Height":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.height"
},
"Aspect Ratio":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.aspectRatio"
},
"Audio Channels":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.audioChannels"
},
"Audio Codec":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.audioCodec"
},
"Video Codec":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.videoCodec"
},
"Container":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.container"
},
"Video FrameRate":
{
"key": "$.Media[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.videoFrameRate"
},
"Part File Combined":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.file"
},
"Part File":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"postProcess": true,
"subtype": "string",
"subkey": "$.file"
},
"Part File Path":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"postProcess": true,
"subtype": "string",
"subkey": "$.file"
},
"Part Size":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"postProcess": true,
"subtype": "string",
"subkey": "$.size"
},
"Part Size as Bytes":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.size"
},
"Part Indexed":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.indexes"
},
"Part Duration":
{
"key": "$..Media[*].Part[?(@.key.startsWith('/library/parts'))]",
"call": 2,
"type": "array",
"postProcess": false,
"subtype": "time",
"subkey": "$.duration"
},
"Part Container":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.container"
},
"Part Optimized for Streaming":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.optimizedForStreaming"
},
"Part Deep Analysis Version":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.deepAnalysisVersion"
},
"Required Bandwidths":
{
"key": "$.Media[*].Part[*]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.requiredBandwidths"
},
"Video Stream Title":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "title"
},
"Video Stream Default":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "default"
},
"Video Stream Index":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "index"
},
"Video Stream Pixel Format":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "pixelFormat"
},
"Video Stream Profile":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "profile"
},
"Video Stream Ref Frames":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "refFrames"
},
"Video Stream Scan Type":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "scanType"
},
"Video Stream Stream Identifier":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "streamIdentifier"
},
"Video Stream Width":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "width"
},
"Video Stream Pixel Aspect Ratio":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "pixelAspectRatio"
},
"Video Stream Height":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "height"
},
"Video Stream Has Scaling Matrix":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "hasScalingMatrix"
},
"Video Stream Frame Rate Mode":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "frameRateMode"
},
"Video Stream Frame Rate":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "frameRate"
},
"Video Stream Codec":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "codec"
},
"Video Stream Codec ID":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "codecID"
},
"Video Stream Chroma Sub Sampling":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "chromaSubsampling"
},
"Video Stream Color Primaries":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "colorPrimaries"
},
"Video Stream Color Range":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "colorRange"
},
"Video Stream Color Space":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "colorSpace"
},
"Video Stream Color Trc":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "colorTrc"
},
"Video Stream Cabac":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "cabac"
},
"Video Stream Anamorphic":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "anamorphic"
},
"Video Stream Language Code":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "languageCode"
},
"Video Stream Language":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "language"
},
"Video Stream Bitrate":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "bitrate"
},
"Video Stream Bit Depth":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "bitDepth"
},
"Video Stream Duration":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "duration"
},
"Video Stream Required Bandwidths":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "requiredBandwidths"
},
"Video Stream Level":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "level"
},
"Audio Stream Selected":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "selected"
},
"Audio Stream Default":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "default"
},
"Audio Stream Codec":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "codec"
},
"Audio Stream Index":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "index"
},
"Audio Stream Channels":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "channels"
},
"Audio Stream Bitrate":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "bitrate"
},
"Audio Stream Language":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "language"
},
"Audio Stream Language Code":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "languageCode"
},
"Audio Stream Audio Channel Layout":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "audioChannelLayout"
},
"Audio Stream Bit Depth":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "bitDepth"
},
"Audio Stream Bitrate Mode":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.bitrateMode"
},
"Audio Stream Codec ID":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.codecID"
},
"Audio Stream Duration":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.duration"
},
"Audio Stream Profile":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.profile"
},
"Audio Stream Sampling Rate":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.samplingRate"
},
"Audio Stream Required Bandwidths":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.requiredBandwidths"
},
"Subtitle Stream Codec":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.profile"
},
"Subtitle Stream Language":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.language"
},
"Subtitle Stream Language Code":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.languageCode"
},
"Subtitle Stream Codec ID":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "codecID"
},
"Subtitle Stream Format":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "format"
},
"Subtitle Stream Title":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "title"
},
"Subtitle Stream Selected":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "selected"
},
"Subtitle Stream Required Bandwidths":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "requiredBandwidths"
},
"Subtitle Header Compression":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "headerCompression"
},
"Subtitle Stream Default":
{
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
"call": 2,
"type": "array",
"subtype": "string",
"subkey": "$.default"
}
}
}
}

View file

@ -0,0 +1,56 @@
{
"ratingKey":"2148",
"key":"/library/metadata/2148",
"parentRatingKey":"2097",
"grandparentRatingKey":"2096",
"guid":"com.plexapp.agents.thetvdb://296762/3/8?lang=en",
"parentGuid":"com.plexapp.agents.thetvdb://296762/3?lang=en",
"grandparentGuid":"com.plexapp.agents.thetvdb://296762?lang=en",
"type":"episode",
"title":"Crisis Theory",
"grandparentKey":"/library/metadata/2096",
"parentKey":"/library/metadata/2097",
"grandparentTitle":"Westworld",
"parentTitle":"Season 3",
"contentRating":"TV-MA",
"summary":"Time to face the music.",
"index":8,
"parentIndex":3,
"year":2020,
"thumb":"/library/metadata/2148/thumb/1588809708",
"art":"/library/metadata/2096/art/1588809708",
"parentThumb":"/library/metadata/2097/thumb/1588809708",
"grandparentThumb":"/library/metadata/2096/thumb/1588809708",
"grandparentArt":"/library/metadata/2096/art/1588809708",
"grandparentTheme":"/library/metadata/2096/theme/1588809708",
"duration":4634642,
"originallyAvailableAt":"2020-05-03",
"addedAt":1588809667,
"updatedAt":1588809708,
"deletedAt":1590192212,
"Media":[
{
"id":1980,"duration":4634642,"bitrate":5602,"width":1280,
"height":720,"aspectRatio":1.78,"audioChannels":6,
"audioCodec":"eac3","videoCodec":"h264",
"videoResolution":"720","container":"mkv",
"videoFrameRate":"24p","videoProfile":"high",
"deletedAt":1590192212,
"Part":[
{
"id":1990,
"key":"/library/parts/1990/1588792405/file.mkv",
"duration":4634642,
"file":"/share/CACHEDEV1_DATA/video/new/shows/Westworld (2016)/Season 3/Westworld.S03E08.WEBDL-720p.mkv",
"size":3245323033,
"container":"mkv",
"videoProfile":"high"
}
]
}
],
"Writer":[
{"tag":"Denise Thé"},
{"tag":"Jonathan Nolan"}
]
}

View file

@ -58,14 +58,8 @@ const menu = require('electron').remote.Menu.buildFromTemplate(menuTemplate.defa
require('electron').remote.Menu.setApplicationMenu(menu) require('electron').remote.Menu.setApplicationMenu(menu)
log.info('App Menu builded') log.info('App Menu builded')
Vue.config.productionTip = false Vue.config.productionTip = false
new Vue({ new Vue({
render: h => h(App), render: h => h(App),
router: router, router: router,