mirror of
https://github.com/WebTools-NG/WebTools-NG
synced 2025-02-17 03:48:25 +00:00
Merge pull request #284 from WebTools-NG/#106-Allow-Export-of-Photos
#106 allow export of photos
This commit is contained in:
commit
dead01ce8a
14 changed files with 321 additions and 234 deletions
|
@ -1,5 +1,11 @@
|
|||
# ![Logo](https://github.com/WebTools-NG/WebTools-NG/blob/master/src/assets/WebTools-48x48.png) WebTools-ng Change log
|
||||
|
||||
## V0.2.02
|
||||
|
||||
**Note**: This version is an Alpha version, that is not made public
|
||||
|
||||
* [#106 Allow Export of Photos](https://github.com/WebTools-NG/WebTools-NG/issues/106)
|
||||
|
||||
## V0.2.01
|
||||
|
||||
**Note**: This version is an Alpha version, that is not made public
|
||||
|
|
|
@ -6,145 +6,147 @@ If a field is marked as `N/A` it means it does not exist for the type of export
|
|||
|
||||
If a field is marked as `X` it means you can export it for the type of export
|
||||
|
||||
| Fields | Movie | TV Episode | TV Show | Audio Album |Audio Artist | Audio Track |
|
||||
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
|
||||
Accessible|X|X|?|?|?|?|
|
||||
Added|X|X|X|X|X|X|
|
||||
Art url|X|?|X|X|?|X|
|
||||
Audience Rating|X|?|X|?|?|?|
|
||||
Audio Stream Audio Channel Layout|X|X|?|?|?|?|
|
||||
Audio Stream Bit Depth|X|X|?|?|?|?|
|
||||
Audio Stream Bitrate|X|X|?|?|?|?|
|
||||
Audio Stream Bitrate Mode|X|X|?|?|?|?|
|
||||
Audio Stream Channels|X|X|?|?|?|?|
|
||||
Audio Stream Codec|X|X|?|?|?|?|
|
||||
Audio Stream Codec ID|X|X|?|?|?|?|
|
||||
Audio Stream Default|X|X|?|?|?|?|
|
||||
Audio Stream Display Title|?|X|?|?|?|?|
|
||||
Audio Stream Duration|X|X|?|?|?|?|
|
||||
Audio Stream Extended Display Title|?|X|?|?|?|?|
|
||||
Audio Stream Index|X|X|?|?|?|?|
|
||||
Audio Stream Language|X|X|?|?|?|?|
|
||||
Audio Stream Language Code|X|X|?|?|?|?|
|
||||
Audio Stream Profile|X|X|?|?|?|?|
|
||||
Audio Stream Required Bandwidths|X|X|?|?|?|?|
|
||||
Audio Stream Sampling Rate|X|X|?|?|?|?|
|
||||
Audio Stream Selected|X|X|?|?|?|?|
|
||||
Audio Stream Title|X|X|?|?|?|?|
|
||||
Chapter Count|X|?|?|?|?|?|
|
||||
Chapter Source|X|?|?|?|?|?|
|
||||
Chapter Title|X|?|?|?|?|?|
|
||||
Collections|X|N/A|?|?|?|?|
|
||||
Content Rating|X|X|X|?|?|?|
|
||||
Country|X|?|?|?|X|?|
|
||||
Deleted|?|X|?|?|?|?|
|
||||
Directors|X|X|?|?|?|?|
|
||||
Duration|X|X|X|?|?|X|
|
||||
Episode|N/A|X|?|?|?|?|
|
||||
Exists|X|X|?|?|?|?|
|
||||
Extras|X|X|?|?|?|?|
|
||||
Extras-behindthescenes|X|?|?|?|?|?|
|
||||
Extras-deleted|X|?|?|?|?|?|
|
||||
Extras-featurette|X|?|?|?|?|?|
|
||||
Extras-interview|X|?|?|?|?|?|
|
||||
Extras-scene|X|?|?|?|?|?|
|
||||
Extras-sceneOrSample|X|?|?|?|?|?|
|
||||
Extras-short|X|?|?|?|?|?|
|
||||
Extras-trailer|X|?|?|?|?|?|
|
||||
Genre|?|?|X|?|X|?|
|
||||
IMDB ID|?|X|?|?|?|?|
|
||||
IMDB Link|?|X|?|?|?|?|
|
||||
Intro Start|N/A|X|?|?|?|?|
|
||||
Intro Stop|N/A|X|?|?|?|?|
|
||||
Labels|X|?|?|?|?|?|
|
||||
Last Viewed at|X|?|?|X|X|?|
|
||||
Locked Fields|X|X|?|?|?|?|
|
||||
Media Aspect Ratio|X|X|?|?|?|?|
|
||||
Media Audio Channels|X|X|?|?|?|X|
|
||||
Media Audio Codec|X|X|?|?|?|X|
|
||||
Media Bitrate|X|X|?|?|?|X|
|
||||
Media Container|X|X|?|?|?|X|
|
||||
Media ID|X|X|X|X|X|X|
|
||||
Media Title|?|X|?|?|?|?|
|
||||
Media Video Codec|X|X|?|?|?|?|
|
||||
Media Video Duration|?|X|?|?|?|?|
|
||||
Media Video FrameRate|X|X|?|?|?|?|
|
||||
Media Video Height|X|X|?|?|?|?|
|
||||
Media Video Profile|?|X|?|?|?|?|
|
||||
Media Video Resolution|X|X|?|?|?|?|
|
||||
Media Video Width|X|X|?|?|?|?|
|
||||
MetaDB Link|X|?|?|?|?|?|
|
||||
MetaData Language|X|X|?|?|?|?|
|
||||
Original Title|X|?|?|?|?|?|
|
||||
Part Container|X|X|?|?|?|X|
|
||||
Part Deep Analysis Version|X|X|?|?|?|X|
|
||||
Part Duration|X|X|?|?|?|X|
|
||||
Part File|X|X|?|?|?|X|
|
||||
Part File Combined|X|X|?|?|?|X|
|
||||
Part File Path|X|X|?|?|?|X|
|
||||
Part Indexed|X|X|?|?|?|?|
|
||||
Part Optimized for Streaming|X|X|?|?|?|?|
|
||||
Part Required Bandwidths|X|X|?|?|?|X|
|
||||
Part Size|X|X|?|?|?|X|
|
||||
Part Size as Bytes|X|X|?|?|?|X|
|
||||
Part Video Profile|X|X|?|?|?|?|
|
||||
Poster url|X|X|X|X|X|X|
|
||||
Rating|X|X|?|X|?|?|
|
||||
Release Date|X|X|X|X|?|?|
|
||||
Roles|X|?|X|?|?|?|
|
||||
Season|N/A|X|?|?|?|?|
|
||||
Series Title|N/A|X|?|?|?|?|
|
||||
Sort title|X|X|?|?|X|?|
|
||||
Studio|X|?|X|X|?|?|
|
||||
Subtitle Stream Codec|X|X|?|?|?|?|
|
||||
Subtitle Stream Codec ID|X|X|?|?|?|?|
|
||||
Subtitle Stream Forced|X|X|?|?|?|?|
|
||||
Subtitle Stream Format|X|X|?|?|?|?|
|
||||
Subtitle Stream Header Compression|X|X|?|?|?|?|
|
||||
Subtitle Stream Index|X|X|?|?|?|?|
|
||||
Subtitle Stream Language|X|X|?|?|?|?|
|
||||
Subtitle Stream Language Code|X|X|?|?|?|?|
|
||||
Subtitle Stream Required Bandwidths|X|X|?|?|?|?|
|
||||
Subtitle Stream Selected|X|X|?|?|?|?|
|
||||
Subtitle Stream Title|X|X|?|?|?|?|
|
||||
Summary|X|X|X|X|X|X|
|
||||
TMDB ID|X|X|?|?|?|?|
|
||||
TMDB Link|X|N/A|?|?|?|?|
|
||||
TVDB ID|N/A|X|?|?|?|?|
|
||||
Tagline|X|?|X|X|?|?|
|
||||
Title|X|X|X|X|X|X|
|
||||
Updated|X|X|X|X|X|X|
|
||||
User Rating|X|X|?|?|?|?|
|
||||
Video Stream Anamorphic|X|?|?|?|?|?|
|
||||
Video Stream Bit Depth|X|X|?|?|?|?|
|
||||
Video Stream Bitrate|X|X|?|?|?|?|
|
||||
Video Stream Cabac|X|X|?|?|?|?|
|
||||
Video Stream Chroma Sub Sampling|X|X|?|?|?|?|
|
||||
Video Stream Codec|X|X|?|?|?|?|
|
||||
Video Stream Codec ID|X|X|?|?|?|?|
|
||||
Video Stream Color Primaries|X|X|?|?|?|?|
|
||||
Video Stream Color Range|X|X|?|?|?|?|
|
||||
Video Stream Color Space|X|X|?|?|?|?|
|
||||
Video Stream Color Trc|X|X|?|?|?|?|
|
||||
Video Stream Default|X|X|?|?|?|?|
|
||||
Video Stream Duration|X|X|?|?|?|?|
|
||||
Video Stream Frame Rate|X|X|?|?|?|?|
|
||||
Video Stream Frame Rate Mode|X|X|?|?|?|?|
|
||||
Video Stream Has Scaling Matrix|X|X|?|?|?|?|
|
||||
Video Stream Height|X|X|?|?|?|?|
|
||||
Video Stream Index|X|X|?|?|?|?|
|
||||
Video Stream Language|X|X|?|?|?|?|
|
||||
Video Stream Language Code|X|X|?|?|?|?|
|
||||
Video Stream Level|X|X|?|?|?|?|
|
||||
Video Stream Pixel Aspect Ratio|X|?|?|?|?|?|
|
||||
Video Stream Pixel Format|X|X|?|?|?|?|
|
||||
Video Stream Profile|X|X|?|?|?|?|
|
||||
Video Stream Ref Frames|X|X|?|?|?|?|
|
||||
Video Stream Required Bandwidths|X|X|?|?|?|?|
|
||||
Video Stream Scan Type|X|X|?|?|?|?|
|
||||
Video Stream Stream Identifier|X|?|?|?|?|?|
|
||||
Video Stream Title|X|X|?|?|?|?|
|
||||
Video Stream Width|X|X|?|?|?|?|
|
||||
View Count|X|?|?|?|?|?|
|
||||
Writers|X|X|?|?|?|?|
|
||||
Year|X|X|X|X|?|?|
|
||||
| Fields | Movie | TV Episode | TV Show | Audio Album |Audio Artist | Audio Track | Photo |
|
||||
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|
||||
Added|X|X|X|X|X|X|X|
|
||||
Art url|X|?|X|X|?|X|X|
|
||||
Audience Rating|X|?|X|?|?|?|?|
|
||||
Audio Stream Audio Channel Layout|X|X|?|?|?|?|?|
|
||||
Audio Stream Bit Depth|X|X|?|?|?|?|?|
|
||||
Audio Stream Bitrate|X|X|?|?|?|?|?|
|
||||
Audio Stream Bitrate Mode|X|X|?|?|?|?|?|
|
||||
Audio Stream Channels|X|X|?|?|?|?|?|
|
||||
Audio Stream Codec|X|X|?|?|?|?|?|
|
||||
Audio Stream Codec ID|X|X|?|?|?|?|?|
|
||||
Audio Stream Default|X|X|?|?|?|?|?|
|
||||
Audio Stream Display Title|?|X|?|?|?|?|?|
|
||||
Audio Stream Duration|X|X|?|?|?|?|?|
|
||||
Audio Stream Extended Display Title|?|X|?|?|?|?|?|
|
||||
Audio Stream Index|X|X|?|?|?|?|?|
|
||||
Audio Stream Language|X|X|?|?|?|?|?|
|
||||
Audio Stream Language Code|X|X|?|?|?|?|?|
|
||||
Audio Stream Profile|X|X|?|?|?|?|?|
|
||||
Audio Stream Required Bandwidths|X|X|?|?|?|?|?|
|
||||
Audio Stream Sampling Rate|X|X|?|?|?|?|?|
|
||||
Audio Stream Selected|X|X|?|?|?|?|?|
|
||||
Audio Stream Title|X|X|?|?|?|?|?|
|
||||
Chapter Count|X|?|?|?|?|?|?|
|
||||
Chapter Source|X|?|?|?|?|?|?|
|
||||
Chapter Title|X|?|?|?|?|?|?|
|
||||
Collections|X|N/A|?|?|?|?|?|
|
||||
Content Rating|X|X|X|?|?|?|?|
|
||||
Country|X|?|?|?|X|?|?|
|
||||
Deleted|?|X|?|?|?|?|?|
|
||||
Directors|X|X|?|?|?|?|?|
|
||||
Duration|X|X|X|?|?|X|?|
|
||||
Episode|N/A|X|?|?|?|?|?|
|
||||
Extras|X|X|?|?|?|?|?|
|
||||
Extras-behindthescenes|X|?|?|?|?|?|?|
|
||||
Extras-deleted|X|?|?|?|?|?|?|
|
||||
Extras-featurette|X|?|?|?|?|?|?|
|
||||
Extras-interview|X|?|?|?|?|?|?|
|
||||
Extras-scene|X|?|?|?|?|?|?|
|
||||
Extras-sceneOrSample|X|?|?|?|?|?|?|
|
||||
Extras-short|X|?|?|?|?|?|?|
|
||||
Extras-trailer|X|?|?|?|?|?|?|
|
||||
Genre|?|?|X|?|X|?|?|
|
||||
IMDB ID|?|X|?|?|?|?|?|
|
||||
IMDB Link|?|X|?|?|?|?|?|
|
||||
Intro Start|N/A|X|?|?|?|?|?|
|
||||
Intro Stop|N/A|X|?|?|?|?|?|
|
||||
Key|X|X|X|X|X|X|X|
|
||||
Labels|X|?|?|?|?|?|?|
|
||||
Last Viewed at|X|?|?|X|X|?|?|
|
||||
Locked Fields|X|X|?|?|?|?|?|
|
||||
Media Aspect Ratio|X|X|?|?|?|?|X|
|
||||
Media Audio Channels|X|X|?|?|?|X|?|
|
||||
Media Audio Codec|X|X|?|?|?|X|?|
|
||||
Media Bitrate|X|X|?|?|?|X|?|
|
||||
Media Container|X|X|?|?|?|X|X|
|
||||
Media Height|X|X|?|?|?|?|X|
|
||||
Media ID|?|?|?|?|?|?|X|
|
||||
Media Title|?|X|?|?|?|?|?|
|
||||
Media Video Codec|X|X|?|?|?|?|?|
|
||||
Media Video Duration|?|X|?|?|?|?|?|
|
||||
Media Video FrameRate|X|X|?|?|?|?|?|
|
||||
Media Video Profile|?|X|?|?|?|?|?|
|
||||
Media Video Resolution|X|X|?|?|?|?|?|
|
||||
Media Width|X|X|?|?|?|?|X|
|
||||
MetaDB Link|X|?|?|?|?|?|?|
|
||||
MetaData Language|X|X|?|?|?|?|?|
|
||||
Original Title|X|?|?|?|?|?|?|
|
||||
Part Accessible|X|X|?|?|?|?|X|
|
||||
Part Container|X|X|?|?|?|X|X|
|
||||
Part Deep Analysis Version|X|X|?|?|?|X|?|
|
||||
Part Duration|X|X|?|?|?|X|?|
|
||||
Part Exists|X|X|?|?|?|?|X|
|
||||
Part File|X|X|?|?|?|X|X|
|
||||
Part File Combined|X|X|?|?|?|X|X|
|
||||
Part File Path|X|X|?|?|?|X|X|
|
||||
Part Indexed|X|X|?|?|?|?|?|
|
||||
Part Optimized for Streaming|X|X|?|?|?|?|?|
|
||||
Part Orientation|?|?|?|?|?|?|X|
|
||||
Part Required Bandwidths|X|X|?|?|?|X|?|
|
||||
Part Size|X|X|?|?|?|X|X|
|
||||
Part Size as Bytes|X|X|?|?|?|X|X|
|
||||
Part Video Profile|X|X|?|?|?|?|?|
|
||||
Poster url|X|X|X|X|X|X|X|
|
||||
Rating|X|X|?|X|?|?|?|
|
||||
Release Date|X|X|X|X|?|?|X|
|
||||
Roles|X|?|X|?|?|?|?|
|
||||
Season|N/A|X|?|?|?|?|?|
|
||||
Series Title|N/A|X|?|?|?|?|?|
|
||||
Sort title|X|X|?|?|X|?|?|
|
||||
Studio|X|?|X|X|?|?|?|
|
||||
Subtitle Stream Codec|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Codec ID|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Forced|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Format|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Header Compression|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Index|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Language|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Language Code|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Required Bandwidths|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Selected|X|X|?|?|?|?|?|
|
||||
Subtitle Stream Title|X|X|?|?|?|?|?|
|
||||
Summary|X|X|X|X|X|X|X|
|
||||
TMDB ID|X|X|?|?|?|?|?|
|
||||
TMDB Link|X|N/A|?|?|?|?|?|
|
||||
TVDB ID|N/A|X|?|?|?|?|?|
|
||||
Tagline|X|?|X|X|?|?|?|
|
||||
Title|X|X|X|X|X|X|X|
|
||||
Updated|X|X|X|X|X|X|X|
|
||||
User Rating|X|X|?|?|?|?|?|
|
||||
Video Stream Anamorphic|X|?|?|?|?|?|?|
|
||||
Video Stream Bit Depth|X|X|?|?|?|?|?|
|
||||
Video Stream Bitrate|X|X|?|?|?|?|?|
|
||||
Video Stream Cabac|X|X|?|?|?|?|?|
|
||||
Video Stream Chroma Sub Sampling|X|X|?|?|?|?|?|
|
||||
Video Stream Codec|X|X|?|?|?|?|?|
|
||||
Video Stream Codec ID|X|X|?|?|?|?|?|
|
||||
Video Stream Color Primaries|X|X|?|?|?|?|?|
|
||||
Video Stream Color Range|X|X|?|?|?|?|?|
|
||||
Video Stream Color Space|X|X|?|?|?|?|?|
|
||||
Video Stream Color Trc|X|X|?|?|?|?|?|
|
||||
Video Stream Default|X|X|?|?|?|?|?|
|
||||
Video Stream Duration|X|X|?|?|?|?|?|
|
||||
Video Stream Frame Rate|X|X|?|?|?|?|?|
|
||||
Video Stream Frame Rate Mode|X|X|?|?|?|?|?|
|
||||
Video Stream Has Scaling Matrix|X|X|?|?|?|?|?|
|
||||
Video Stream Height|X|X|?|?|?|?|?|
|
||||
Video Stream Index|X|X|?|?|?|?|?|
|
||||
Video Stream Language|X|X|?|?|?|?|?|
|
||||
Video Stream Language Code|X|X|?|?|?|?|?|
|
||||
Video Stream Level|X|X|?|?|?|?|?|
|
||||
Video Stream Pixel Aspect Ratio|X|?|?|?|?|?|?|
|
||||
Video Stream Pixel Format|X|X|?|?|?|?|?|
|
||||
Video Stream Profile|X|X|?|?|?|?|?|
|
||||
Video Stream Ref Frames|X|X|?|?|?|?|?|
|
||||
Video Stream Required Bandwidths|X|X|?|?|?|?|?|
|
||||
Video Stream Scan Type|X|X|?|?|?|?|?|
|
||||
Video Stream Stream Identifier|X|?|?|?|?|?|?|
|
||||
Video Stream Title|X|X|?|?|?|?|?|
|
||||
Video Stream Width|X|X|?|?|?|?|?|
|
||||
View Count|X|?|?|?|?|?|?|
|
||||
Writers|X|X|?|?|?|?|?|
|
||||
Year|X|X|X|X|?|?|X|
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
{ text: i18n.t('Modules.ET.RadioAudioArtist'), value: 'artist', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioAudioAlbum'), value: 'album', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioAudioTrack'), value: 'track', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioPhotos'), value: 'photo', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioPhotos'), value: 'photo', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioPlayLists'), value: 'playlist', disabled: true }
|
||||
],
|
||||
selCustLevel: "",
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
{ text: i18n.t('Modules.ET.RadioAudioArtist'), value: 'artist', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioAudioAlbum'), value: 'album', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioAudioTrack'), value: 'track', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioPhotos'), value: 'photo', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioPhotos'), value: 'photo', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioPlayLists'), value: 'playlist', disabled: true }
|
||||
]
|
||||
};
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
"album": {
|
||||
"level": {
|
||||
"level1": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Summary",
|
||||
"Studio"
|
||||
],
|
||||
"level2": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Summary",
|
||||
"Studio",
|
||||
|
@ -19,7 +19,7 @@
|
|||
"all": [
|
||||
"Added",
|
||||
"Art url",
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Poster url",
|
||||
"Rating",
|
||||
"Release Date",
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
"artist": {
|
||||
"level": {
|
||||
"level1": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Sort title",
|
||||
"Summary"
|
||||
],
|
||||
"level2": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Sort title",
|
||||
"Summary",
|
||||
|
@ -21,8 +21,8 @@
|
|||
"Added",
|
||||
"Country",
|
||||
"Genre",
|
||||
"Key",
|
||||
"Last Viewed at",
|
||||
"Media ID",
|
||||
"Poster url",
|
||||
"Sort title",
|
||||
"Summary",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"episode": {
|
||||
"level": {
|
||||
"level1": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Series Title",
|
||||
"Sort title",
|
||||
"Title",
|
||||
|
@ -15,7 +15,7 @@
|
|||
"User Rating"
|
||||
],
|
||||
"level2": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Series Title",
|
||||
"Sort title",
|
||||
"Title",
|
||||
|
@ -35,9 +35,8 @@
|
|||
"Deleted"
|
||||
],
|
||||
"all": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Series Title",
|
||||
"Accessible",
|
||||
"Added",
|
||||
"Audio Stream Audio Channel Layout",
|
||||
"Audio Stream Bit Depth",
|
||||
|
@ -63,7 +62,6 @@
|
|||
"Directors",
|
||||
"Duration",
|
||||
"Episode",
|
||||
"Exists",
|
||||
"Extras",
|
||||
"IMDB ID",
|
||||
"IMDB Link",
|
||||
|
@ -75,18 +73,20 @@
|
|||
"Media Audio Codec",
|
||||
"Media Bitrate",
|
||||
"Media Container",
|
||||
"Media Height",
|
||||
"Media Title",
|
||||
"Media Video Codec",
|
||||
"Media Video Duration",
|
||||
"Media Video FrameRate",
|
||||
"Media Video Height",
|
||||
"Media Video Profile",
|
||||
"Media Video Resolution",
|
||||
"Media Video Width",
|
||||
"Media Width",
|
||||
"MetaData Language",
|
||||
"Part Accessible",
|
||||
"Part Container",
|
||||
"Part Deep Analysis Version",
|
||||
"Part Duration",
|
||||
"Part Exists",
|
||||
"Part File Combined",
|
||||
"Part File Path",
|
||||
"Part File",
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
{
|
||||
"fields": {
|
||||
"Accessible":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.accessible"
|
||||
},
|
||||
"Added":
|
||||
{
|
||||
"key": "$.addedAt",
|
||||
|
@ -246,14 +238,6 @@
|
|||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Exists":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.exists"
|
||||
},
|
||||
"Extras":
|
||||
{
|
||||
"key": "$.Extras.size",
|
||||
|
@ -350,6 +334,12 @@
|
|||
"subtype": "time",
|
||||
"subkey": "$.endTimeOffset"
|
||||
},
|
||||
"Key":
|
||||
{
|
||||
"key": "$.ratingKey",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Last Viewed at":
|
||||
{
|
||||
"key": "$..lastViewedAt",
|
||||
|
@ -412,11 +402,21 @@
|
|||
"subtype": "string",
|
||||
"subkey": "$.container"
|
||||
},
|
||||
"Media Height":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.height"
|
||||
},
|
||||
"Media ID":
|
||||
{
|
||||
"key": "$.ratingKey",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id"
|
||||
},
|
||||
"Media Title":
|
||||
{
|
||||
|
@ -450,14 +450,6 @@
|
|||
"subtype": "string",
|
||||
"subkey": "$.videoFrameRate"
|
||||
},
|
||||
"Media Video Height":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.height"
|
||||
},
|
||||
"Media Video Profile":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
|
@ -474,7 +466,7 @@
|
|||
"subtype": "string",
|
||||
"subkey": "$.videoResolution"
|
||||
},
|
||||
"Media Video Width":
|
||||
"Media Width":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
|
@ -503,6 +495,14 @@
|
|||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"Part Accessible":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.accessible"
|
||||
},
|
||||
"Part Container":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
|
@ -528,6 +528,14 @@
|
|||
"subtype": "string",
|
||||
"subkey": "$.deepAnalysisVersion"
|
||||
},
|
||||
"Part Exists":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.exists"
|
||||
},
|
||||
"Part File":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
|
@ -570,6 +578,14 @@
|
|||
"subtype": "string",
|
||||
"subkey": "$.optimizedForStreaming"
|
||||
},
|
||||
"Part Orientation":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.orientation"
|
||||
},
|
||||
"Part Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
|
|
|
@ -76,7 +76,14 @@
|
|||
},
|
||||
"photo": {
|
||||
"levels": {
|
||||
"No Level Yet": "level1"
|
||||
"Level 1": "level1",
|
||||
"Level 2": "level2",
|
||||
"All": "all"
|
||||
},
|
||||
"LevelCount": {
|
||||
"Level 1": 1,
|
||||
"Level 2": 1,
|
||||
"All": 2
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,10 +2,10 @@
|
|||
"movie": {
|
||||
"level": {
|
||||
"devTommy": [
|
||||
"Media ID", "Title"
|
||||
"Key", "Title"
|
||||
],
|
||||
"level1": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Sort title",
|
||||
"Studio",
|
||||
|
@ -15,7 +15,7 @@
|
|||
"Summary"
|
||||
],
|
||||
"level2": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Sort title",
|
||||
"Studio",
|
||||
|
@ -36,7 +36,6 @@
|
|||
"User Rating"
|
||||
],
|
||||
"all": [
|
||||
"Accessible",
|
||||
"Added",
|
||||
"Art url",
|
||||
"Audience Rating",
|
||||
|
@ -65,7 +64,6 @@
|
|||
"Country",
|
||||
"Directors",
|
||||
"Duration",
|
||||
"Exists",
|
||||
"Extras",
|
||||
"Extras-behindthescenes",
|
||||
"Extras-deleted",
|
||||
|
@ -75,6 +73,7 @@
|
|||
"Extras-sceneOrSample",
|
||||
"Extras-short",
|
||||
"Extras-trailer",
|
||||
"Key",
|
||||
"Labels",
|
||||
"Last Viewed at",
|
||||
"Locked Fields",
|
||||
|
@ -83,18 +82,19 @@
|
|||
"Media Audio Codec",
|
||||
"Media Bitrate",
|
||||
"Media Container",
|
||||
"Media ID",
|
||||
"Media Height",
|
||||
"Media Video Codec",
|
||||
"Media Video FrameRate",
|
||||
"Media Video Height",
|
||||
"Media Video Resolution",
|
||||
"Media Video Width",
|
||||
"Media Width",
|
||||
"MetaDB Link",
|
||||
"MetaData Language",
|
||||
"Original Title",
|
||||
"Part Accessible",
|
||||
"Part Container",
|
||||
"Part Deep Analysis Version",
|
||||
"Part Duration",
|
||||
"Part Exists",
|
||||
"Part File",
|
||||
"Part File Combined",
|
||||
"Part File Path",
|
||||
|
|
|
@ -1 +1,47 @@
|
|||
{}
|
||||
{
|
||||
"photo": {
|
||||
"level": {
|
||||
"level1": [
|
||||
"Key",
|
||||
"Title",
|
||||
"Added",
|
||||
"Year"
|
||||
],
|
||||
"level2": [
|
||||
"Key",
|
||||
"Title",
|
||||
"Added",
|
||||
"Year",
|
||||
"Media Aspect Ratio",
|
||||
"Media Container",
|
||||
"Media Height",
|
||||
"Media Width"
|
||||
],
|
||||
"all": [
|
||||
"Added",
|
||||
"Art url",
|
||||
"Key",
|
||||
"Media Aspect Ratio",
|
||||
"Media Container",
|
||||
"Media Height",
|
||||
"Media ID",
|
||||
"Media Width",
|
||||
"Part Accessible",
|
||||
"Part Container",
|
||||
"Part Exists",
|
||||
"Part File",
|
||||
"Part File Combined",
|
||||
"Part File Path",
|
||||
"Part Orientation",
|
||||
"Part Size",
|
||||
"Part Size as Bytes",
|
||||
"Poster url",
|
||||
"Release Date",
|
||||
"Summary",
|
||||
"Title",
|
||||
"Updated",
|
||||
"Year"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,12 +2,12 @@
|
|||
"show": {
|
||||
"level": {
|
||||
"level1": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Summary"
|
||||
],
|
||||
"level2": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Summary",
|
||||
"Audience Rating",
|
||||
|
@ -21,7 +21,7 @@
|
|||
"Content Rating",
|
||||
"Duration",
|
||||
"Genre",
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Poster url",
|
||||
"Release Date",
|
||||
"Roles",
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
"track": {
|
||||
"level": {
|
||||
"level1": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Summary",
|
||||
"Duration",
|
||||
"Added"
|
||||
],
|
||||
"level2": [
|
||||
"Media ID",
|
||||
"Key",
|
||||
"Title",
|
||||
"Summary",
|
||||
"Duration",
|
||||
|
@ -22,11 +22,11 @@
|
|||
"Added",
|
||||
"Art url",
|
||||
"Duration",
|
||||
"Key",
|
||||
"Media Audio Channels",
|
||||
"Media Audio Codec",
|
||||
"Media Bitrate",
|
||||
"Media Container",
|
||||
"Media ID",
|
||||
"Part Container",
|
||||
"Part Deep Analysis Version",
|
||||
"Part Duration",
|
||||
|
|
|
@ -83,7 +83,14 @@ const et = new class ET {
|
|||
const element = '/library/sections/' + libKey
|
||||
let size
|
||||
do {
|
||||
postURI = `/all?X-Plex-Container-Start=${idx}&X-Plex-Container-Size=${step}&type=${this.mediaType[libType]}&${this.uriParams}`;
|
||||
if (libType == 'photo')
|
||||
{
|
||||
postURI = `/all?addedAt>>=-2208992400&X-Plex-Container-Start=${idx}&X-Plex-Container-Size=${step}&type=${this.mediaType[libType]}&${this.uriParams}`;
|
||||
}
|
||||
else
|
||||
{
|
||||
postURI = `/all?X-Plex-Container-Start=${idx}&X-Plex-Container-Size=${step}&type=${this.mediaType[libType]}&${this.uriParams}`;
|
||||
}
|
||||
log.info(`Calling url ${baseURL + element + postURI}`);
|
||||
chuncks = await et.getItemData({baseURL: baseURL, accessToken: accessToken, element: element, postURI: postURI});
|
||||
size = JSONPath({path: '$.MediaContainer.size', json: chuncks});
|
||||
|
@ -1014,41 +1021,44 @@ const excel2 = new class Excel {
|
|||
var stream = fs.createWriteStream(tmpFile, {flags:'a'});
|
||||
// Add the header
|
||||
stream.write( strHeader + "\n");
|
||||
// Get all the items in small chuncks
|
||||
var sectionData = await et.getSectionData({sectionName: libName, baseURL: baseURL, accessToken: accessToken, libType: libType})
|
||||
log.verbose(`Amount of chunks in sectionData are: ${sectionData.length}`)
|
||||
let item
|
||||
let counter = 1
|
||||
const totalSize = JSONPath({path: '$..totalSize', json: sectionData[0]});
|
||||
for (var x=0; x<sectionData.length; x++)
|
||||
var sectionData, x;
|
||||
{
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.Processing-Chunk', {current: x, total: sectionData.length}))
|
||||
var sectionChunk = await JSONPath({path: "$.MediaContainer.Metadata[*]", json: sectionData[x]});
|
||||
if ( call == 1 )
|
||||
// Get all the items in small chuncks
|
||||
sectionData = await et.getSectionData({sectionName: libName, baseURL: baseURL, accessToken: accessToken, libType: libType})
|
||||
log.verbose(`Amount of chunks in sectionData are: ${sectionData.length}`)
|
||||
let item
|
||||
let counter = 1
|
||||
const totalSize = JSONPath({path: '$..totalSize', json: sectionData[0]});
|
||||
for (x=0; x<sectionData.length; x++)
|
||||
{
|
||||
for (item of sectionChunk){
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.ProcessItem', {count: counter, total: totalSize}));
|
||||
await excel2.addRowToTmp( { libType: libType, level: level, data: item, stream: stream } );
|
||||
counter += 1;
|
||||
await new Promise(resolve => setTimeout(resolve, 1));
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.Processing-Chunk', {current: x, total: sectionData.length}))
|
||||
var sectionChunk = await JSONPath({path: "$.MediaContainer.Metadata[*]", json: sectionData[x]});
|
||||
if ( call == 1 )
|
||||
{
|
||||
for (item of sectionChunk){
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.ProcessItem', {count: counter, total: totalSize}));
|
||||
await excel2.addRowToTmp( { libType: libType, level: level, data: item, stream: stream } );
|
||||
counter += 1;
|
||||
await new Promise(resolve => setTimeout(resolve, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Get ratingKeys in the chunk
|
||||
const urls = await JSONPath({path: '$..ratingKey', json: sectionChunk});
|
||||
let urlStr = urls.join(',');
|
||||
log.verbose(`Items to lookup are: ${urlStr}`)
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.Processing-Chunk-Detailed', {current: x, total: sectionData.length, urlStr: urlStr}));
|
||||
const urlWIthPath = '/library/metadata/' + urlStr + '?' + this.uriParams;
|
||||
log.verbose(`Items retrieved`);
|
||||
const contents = await et.getItemData({baseURL: baseURL, accessToken: accessToken, element: urlWIthPath});
|
||||
const contentsItems = await JSONPath({path: '$.MediaContainer.Metadata[*]', json: contents});
|
||||
for (item of contentsItems){
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.ProcessItem', {count: counter, total: totalSize}));
|
||||
await excel2.addRowToTmp( { libType: libType, level: level, data: item, stream: stream } );
|
||||
counter += 1;
|
||||
await new Promise(resolve => setTimeout(resolve, 1));
|
||||
else
|
||||
{
|
||||
// Get ratingKeys in the chunk
|
||||
const urls = await JSONPath({path: '$..ratingKey', json: sectionChunk});
|
||||
let urlStr = urls.join(',');
|
||||
log.verbose(`Items to lookup are: ${urlStr}`)
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.Processing-Chunk-Detailed', {current: x, total: sectionData.length, urlStr: urlStr}));
|
||||
const urlWIthPath = '/library/metadata/' + urlStr + '?' + this.uriParams;
|
||||
log.verbose(`Items retrieved`);
|
||||
const contents = await et.getItemData({baseURL: baseURL, accessToken: accessToken, element: urlWIthPath});
|
||||
const contentsItems = await JSONPath({path: '$.MediaContainer.Metadata[*]', json: contents});
|
||||
for (item of contentsItems){
|
||||
store.commit("UPDATE_EXPORTSTATUS", i18n.t('Modules.ET.Status.ProcessItem', {count: counter, total: totalSize}));
|
||||
await excel2.addRowToTmp( { libType: libType, level: level, data: item, stream: stream } );
|
||||
counter += 1;
|
||||
await new Promise(resolve => setTimeout(resolve, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue