#407 Remove jellyfin
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@ junk/
|
|||||||
.ipynb_checkpoints/
|
.ipynb_checkpoints/
|
||||||
ansible/inventory/hawaii.yml
|
ansible/inventory/hawaii.yml
|
||||||
ansible/inventory/peppermint.yml
|
ansible/inventory/peppermint.yml
|
||||||
|
ffx_test_report.log
|
||||||
|
|||||||
@@ -372,7 +372,6 @@ def convert(ctx,
|
|||||||
episode,
|
episode,
|
||||||
|
|
||||||
no_tmdb,
|
no_tmdb,
|
||||||
# no_jellyfin,
|
|
||||||
no_pattern,
|
no_pattern,
|
||||||
dont_pass_dispositions,
|
dont_pass_dispositions,
|
||||||
no_prompt,
|
no_prompt,
|
||||||
@@ -396,10 +395,6 @@ def convert(ctx,
|
|||||||
|
|
||||||
targetFormat = FfxController.DEFAULT_FILE_FORMAT
|
targetFormat = FfxController.DEFAULT_FILE_FORMAT
|
||||||
targetExtension = FfxController.DEFAULT_FILE_EXTENSION
|
targetExtension = FfxController.DEFAULT_FILE_EXTENSION
|
||||||
|
|
||||||
|
|
||||||
#TODO: #407 Without effect -> remove
|
|
||||||
context['use_jellyfin'] = False
|
|
||||||
|
|
||||||
context['use_tmdb'] = not no_tmdb
|
context['use_tmdb'] = not no_tmdb
|
||||||
context['use_pattern'] = not no_pattern
|
context['use_pattern'] = not no_pattern
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ class FfxController():
|
|||||||
|
|
||||||
CHANNEL_MAP_5_1 = 'FL-FL|FR-FR|FC-FC|LFE-LFE|SL-BL|SR-BR:5.1'
|
CHANNEL_MAP_5_1 = 'FL-FL|FR-FR|FC-FC|LFE-LFE|SL-BL|SR-BR:5.1'
|
||||||
|
|
||||||
|
#!
|
||||||
SIGNATURE_TAGS = {'RECODED_WITH': 'FFX'}
|
SIGNATURE_TAGS = {'RECODED_WITH': 'FFX'}
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
@@ -47,10 +48,6 @@ class FfxController():
|
|||||||
|
|
||||||
self.__configurationData = self.__context['config'].getData()
|
self.__configurationData = self.__context['config'].getData()
|
||||||
|
|
||||||
# Convenience
|
|
||||||
# self.__niceness = self.__context['resource_limits']['niceness'] if 'resource_limits' in self.__context.keys() and 'niceness' in self.__context['resource_limits'].keys() else 99
|
|
||||||
# self.__cpuPercent = self.__context['resource_limits']['cpu_percent'] if 'resource_limits' in self.__context.keys() and 'cpu_percent' in self.__context['resource_limits'].keys() else 0
|
|
||||||
|
|
||||||
self.__logger = context['logger']
|
self.__logger = context['logger']
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ class MediaDescriptor:
|
|||||||
FFPROBE_TAGS_KEY = "tags"
|
FFPROBE_TAGS_KEY = "tags"
|
||||||
FFPROBE_CODEC_TYPE_KEY = "codec_type"
|
FFPROBE_CODEC_TYPE_KEY = "codec_type"
|
||||||
|
|
||||||
# JELLYFIN_ORDER_FLAG_KEY = "jellyfin_order"
|
#407 remove as well
|
||||||
|
|
||||||
EXCLUDED_MEDIA_TAGS = ["creation_time"]
|
EXCLUDED_MEDIA_TAGS = ["creation_time"]
|
||||||
|
|
||||||
SEASON_EPISODE_STREAM_LANGUAGE_MATCH = '[sS]([0-9]+)[eE]([0-9]+)_([0-9]+)_([a-z]{3})'
|
SEASON_EPISODE_STREAM_LANGUAGE_MATCH = '[sS]([0-9]+)[eE]([0-9]+)_([0-9]+)_([a-z]{3})'
|
||||||
@@ -72,9 +71,6 @@ class MediaDescriptor:
|
|||||||
else:
|
else:
|
||||||
self.__trackDescriptors = []
|
self.__trackDescriptors = []
|
||||||
|
|
||||||
#TODO: to be removed
|
|
||||||
self.__jellyfinOrder = False
|
|
||||||
|
|
||||||
def setTrackLanguage(self, language: str, index: int, trackType: TrackType = None):
|
def setTrackLanguage(self, language: str, index: int, trackType: TrackType = None):
|
||||||
|
|
||||||
trackLanguage = IsoLanguage.findThreeLetter(language)
|
trackLanguage = IsoLanguage.findThreeLetter(language)
|
||||||
@@ -358,12 +354,8 @@ class MediaDescriptor:
|
|||||||
|
|
||||||
for tp in range(maxNumOfTracks):
|
for tp in range(maxNumOfTracks):
|
||||||
|
|
||||||
# inspect/update funktionier nur so
|
#!
|
||||||
if self.__jellyfinOrder:
|
vsTrackIndex = tracks[tp].getSourceIndex()
|
||||||
vsTrackIndex = tracks[tp].getSourceIndex()
|
|
||||||
else:
|
|
||||||
vsTrackIndex = tp
|
|
||||||
# vsTrackIndex = tracks[tp].getSourceIndex()
|
|
||||||
|
|
||||||
# Will trigger if tracks are missing in file
|
# Will trigger if tracks are missing in file
|
||||||
if tp > (numVsTracks - 1):
|
if tp > (numVsTracks - 1):
|
||||||
@@ -431,9 +423,6 @@ class MediaDescriptor:
|
|||||||
# sti = self.__trackDescriptors[trackIndex].getSourceIndex()
|
# sti = self.__trackDescriptors[trackIndex].getSourceIndex()
|
||||||
# sotd = sourceOrderTrackDescriptors[sti]
|
# sotd = sourceOrderTrackDescriptors[sti]
|
||||||
|
|
||||||
# appearently this negates applyJellyfinOrder
|
|
||||||
#for rtd in sorted(self.__trackDescriptors.copy(), key=lambda d: d.getSourceIndex()):
|
|
||||||
|
|
||||||
trackType = td.getType()
|
trackType = td.getType()
|
||||||
|
|
||||||
if (trackType == TrackType.VIDEO or not only_video):
|
if (trackType == TrackType.VIDEO or not only_video):
|
||||||
|
|||||||
@@ -41,71 +41,36 @@ class DispositionCombinator21(DispositionCombinator2):
|
|||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
|
|
||||||
if self._context['use_jellyfin']:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
def f(assertObj: dict):
|
||||||
if not 'tracks' in assertObj.keys():
|
if not 'tracks' in assertObj.keys():
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
trackDescriptors = assertObj['tracks']
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
# source subIndex 1
|
# source subIndex 0
|
||||||
assert not (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
||||||
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.FORCED)
|
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set 'forced' disposition"
|
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set 'comment' disposition"
|
||||||
# source subIndex 0
|
# source subIndex 1
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert not (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not set default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.COMMENT)
|
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
||||||
# ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved set 'comment' disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved set 'forced' disposition"
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
|
||||||
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
|
||||||
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set 'comment' disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert not (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved set 'forced' disposition"
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if self._context['use_jellyfin']:
|
def f(assertObj: dict):
|
||||||
|
if not 'tracks' in assertObj.keys():
|
||||||
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
def f(assertObj: dict):
|
# source subIndex 0
|
||||||
if not 'tracks' in assertObj.keys():
|
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
||||||
trackDescriptors = assertObj['tracks']
|
# source subIndex 1
|
||||||
|
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
# source subIndex 1
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
|
||||||
# source subIndex 0
|
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not set default disposition"
|
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
|
|
||||||
return f
|
return f
|
||||||
|
|
||||||
|
|||||||
@@ -45,101 +45,51 @@ class DispositionCombinator31(DispositionCombinator3):
|
|||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
|
|
||||||
if self._context['use_jellyfin']:
|
def f(assertObj: dict):
|
||||||
|
|
||||||
def f(assertObj: dict):
|
if not 'tracks' in assertObj.keys():
|
||||||
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
|
|
||||||
trackDescriptors = assertObj['tracks']
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
# source subIndex 1
|
# source subIndex 0
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
||||||
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.FORCED)
|
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved descriptions disposition"
|
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved default disposition"
|
||||||
|
|
||||||
# source subIndex 2
|
# source subIndex 1
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.HEARING_IMPAIRED)
|
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
||||||
# ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved default disposition"
|
||||||
|
|
||||||
# source subIndex 0
|
# source subIndex 2
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.COMMENT)
|
# assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.HEARING_IMPAIRED)
|
||||||
# ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved set default disposition"
|
# ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved default disposition"
|
||||||
|
|
||||||
else:
|
|
||||||
def f(assertObj: dict):
|
|
||||||
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
|
||||||
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
|
||||||
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved default disposition"
|
|
||||||
|
|
||||||
# source subIndex 1
|
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved default disposition"
|
|
||||||
|
|
||||||
# source subIndex 2
|
|
||||||
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
|
||||||
# assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.HEARING_IMPAIRED)
|
|
||||||
# ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved default disposition"
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if self._context['use_jellyfin']:
|
def f(assertObj: dict):
|
||||||
|
|
||||||
def f(assertObj: dict):
|
if not 'tracks' in assertObj.keys():
|
||||||
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
|
|
||||||
trackDescriptors = assertObj['tracks']
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
# source subIndex 1
|
# source subIndex 0
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
||||||
|
|
||||||
# source subIndex 2
|
# source subIndex 1
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
||||||
|
|
||||||
# source subIndex 0
|
# source subIndex 2
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
||||||
|
|
||||||
else:
|
|
||||||
def f(assertObj: dict):
|
|
||||||
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not set default disposition"
|
|
||||||
|
|
||||||
# source subIndex 1
|
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
|
|
||||||
# source subIndex 2
|
|
||||||
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
|
||||||
return f
|
return f
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,87 +45,44 @@ class DispositionCombinator32(DispositionCombinator3):
|
|||||||
def createAssertFunc(self):
|
def createAssertFunc(self):
|
||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
if self._context['use_jellyfin']:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
def f(assertObj: dict):
|
||||||
if not 'tracks' in assertObj.keys():
|
if not 'tracks' in assertObj.keys():
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
trackDescriptors = assertObj['tracks']
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
# source subIndex 0
|
# source subIndex 0
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
||||||
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set default disposition"
|
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set default disposition"
|
||||||
# source subIndex 2
|
# source subIndex 1
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not set default disposition"
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
# assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DESCRIPTIONS)
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved default disposition"
|
# ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved descriptions disposition"
|
||||||
# source subIndex 1
|
# source subIndex 2
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DESCRIPTIONS)
|
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.FORCED)
|
||||||
# ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved descriptions disposition"
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved default disposition"
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
|
||||||
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
|
||||||
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not set default disposition"
|
|
||||||
# assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DESCRIPTIONS)
|
|
||||||
# ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved descriptions disposition"
|
|
||||||
# source subIndex 2
|
|
||||||
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.FORCED)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved default disposition"
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if self._context['use_jellyfin']:
|
def f(assertObj: dict):
|
||||||
|
if not 'tracks' in assertObj.keys():
|
||||||
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
def f(assertObj: dict):
|
# source subIndex 0
|
||||||
if not 'tracks' in assertObj.keys():
|
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
||||||
trackDescriptors = assertObj['tracks']
|
# source subIndex 1
|
||||||
|
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
# source subIndex 0
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not set default disposition"
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
# source subIndex 2
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
# source subIndex 2
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not set default disposition"
|
|
||||||
# source subIndex 2
|
|
||||||
assert (not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has set default disposition"
|
|
||||||
return f
|
return f
|
||||||
|
|
||||||
def shouldFail(self):
|
def shouldFail(self):
|
||||||
|
|||||||
@@ -45,87 +45,44 @@ class DispositionCombinator33(DispositionCombinator3):
|
|||||||
def createAssertFunc(self):
|
def createAssertFunc(self):
|
||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
if self._context['use_jellyfin']:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
def f(assertObj: dict):
|
||||||
if not 'tracks' in assertObj.keys():
|
if not 'tracks' in assertObj.keys():
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
trackDescriptors = assertObj['tracks']
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
# source subIndex 0
|
# source subIndex 0
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
||||||
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set default disposition"
|
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set default disposition"
|
||||||
# source subIndex 2
|
# source subIndex 1
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
||||||
# assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.HEARING_IMPAIRED)
|
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
||||||
# ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved default disposition"
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved descriptions disposition"
|
||||||
# source subIndex 1
|
# source subIndex 2
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.FORCED)
|
# assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.HEARING_IMPAIRED)
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved descriptions disposition"
|
# ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved default disposition"
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
|
||||||
# assert (trackDescriptors[0].getDispositionFlag(TrackDisposition.COMMENT)
|
|
||||||
# ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.FORCED)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved descriptions disposition"
|
|
||||||
# source subIndex 2
|
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
|
||||||
# assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.HEARING_IMPAIRED)
|
|
||||||
# ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved default disposition"
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if self._context['use_jellyfin']:
|
def f(assertObj: dict):
|
||||||
|
if not 'tracks' in assertObj.keys():
|
||||||
|
raise KeyError("assertObj does not contain key 'tracks'")
|
||||||
|
trackDescriptors = assertObj['tracks']
|
||||||
|
|
||||||
def f(assertObj: dict):
|
# source subIndex 0
|
||||||
if not 'tracks' in assertObj.keys():
|
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
||||||
trackDescriptors = assertObj['tracks']
|
# source subIndex 1
|
||||||
|
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
# source subIndex 0
|
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
# source subIndex 2
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
||||||
# source subIndex 2
|
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
def f(assertObj: dict):
|
|
||||||
if not 'tracks' in assertObj.keys():
|
|
||||||
raise KeyError("assertObj does not contain key 'tracks'")
|
|
||||||
trackDescriptors = assertObj['tracks']
|
|
||||||
|
|
||||||
# source subIndex 0
|
|
||||||
assert (not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has set default disposition"
|
|
||||||
# source subIndex 1
|
|
||||||
assert (not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has set default disposition"
|
|
||||||
# source subIndex 2
|
|
||||||
assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT)
|
|
||||||
), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not set default disposition"
|
|
||||||
return f
|
return f
|
||||||
|
|
||||||
def shouldFail(self):
|
def shouldFail(self):
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ from ffx.media_descriptor import MediaDescriptor
|
|||||||
from ffx.track_type import TrackType
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
from ffx.helper import dictCache
|
from ffx.helper import dictCache
|
||||||
|
from ffx.configuration_controller import ConfigurationController
|
||||||
|
|
||||||
|
|
||||||
SHORT_SUBTITLE_SEQUENCE = [{'start': 1, 'end': 2, 'text': 'yolo'},
|
SHORT_SUBTITLE_SEQUENCE = [{'start': 1, 'end': 2, 'text': 'yolo'},
|
||||||
@@ -230,7 +231,8 @@ def createMediaTestFile(mediaDescriptor: MediaDescriptor,
|
|||||||
f"{mediaTagKey}={mediaTagValue}"]
|
f"{mediaTagKey}={mediaTagValue}"]
|
||||||
subIndexCounter[trackType] += 1
|
subIndexCounter[trackType] += 1
|
||||||
|
|
||||||
ffxContext = {'logger': logger}
|
#TODO: Optimize too many runs
|
||||||
|
ffxContext = {'config': ConfigurationController(), 'logger': logger}
|
||||||
fc = FfxController(ffxContext, mediaDescriptor)
|
fc = FfxController(ffxContext, mediaDescriptor)
|
||||||
|
|
||||||
commandTokens += (generatorTokens
|
commandTokens += (generatorTokens
|
||||||
|
|||||||
@@ -92,75 +92,65 @@ class MediaCombinator2(MediaCombinator):
|
|||||||
for MTC in MediaTagCombinator.getAllClassReferences():
|
for MTC in MediaTagCombinator.getAllClassReferences():
|
||||||
for DC2 in DispositionCombinator2.getAllClassReferences():
|
for DC2 in DispositionCombinator2.getAllClassReferences():
|
||||||
for TC2 in TrackTagCombinator2.getAllClassReferences():
|
for TC2 in TrackTagCombinator2.getAllClassReferences():
|
||||||
for J in JellyfinCombinator.getAllClassReferences():
|
|
||||||
|
|
||||||
j = J(self._context)
|
dc2 = DC2(self._context)
|
||||||
self._context['use_jellyfin'] = j.getPayload()
|
tc2 = TC2(self._context)
|
||||||
|
|
||||||
dc2 = DC2(self._context)
|
mtc = MTC(self._context)
|
||||||
tc2 = TC2(self._context)
|
|
||||||
|
|
||||||
mtc = MTC(self._context)
|
yObj = {}
|
||||||
|
|
||||||
yObj = {}
|
yObj['identifier'] = self.getIdentifier()
|
||||||
|
yObj['variants'] = [self.getVariant(),
|
||||||
|
f"S:{dc2.getVariant()}",
|
||||||
|
f"S:{tc2.getVariant()}",
|
||||||
|
mtc.getVariant()]
|
||||||
|
|
||||||
yObj['identifier'] = self.getIdentifier()
|
yObj['payload'] = self.getPayload(dc2.getPayload(),
|
||||||
yObj['variants'] = [self.getVariant(),
|
tc2.getPayload())
|
||||||
f"S:{dc2.getVariant()}",
|
|
||||||
f"S:{tc2.getVariant()}",
|
|
||||||
mtc.getVariant(),
|
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj['payload'] = self.getPayload(dc2.getPayload(),
|
yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT']
|
||||||
tc2.getPayload())
|
yObj['assertFuncs'] = [self.assertFunc,
|
||||||
|
dc2.createAssertFunc(),
|
||||||
|
tc2.createAssertFunc(),
|
||||||
|
mtc.createAssertFunc()]
|
||||||
|
|
||||||
yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J']
|
yObj['shouldFail'] = (self.shouldFail()
|
||||||
yObj['assertFuncs'] = [self.assertFunc,
|
| dc2.shouldFail()
|
||||||
dc2.createAssertFunc(),
|
| tc2.shouldFail()
|
||||||
tc2.createAssertFunc(),
|
| mtc.shouldFail())
|
||||||
mtc.createAssertFunc(),
|
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj['shouldFail'] = (self.shouldFail()
|
yieldObj = {'target': yObj}
|
||||||
| dc2.shouldFail()
|
|
||||||
| tc2.shouldFail()
|
|
||||||
| mtc.shouldFail()
|
|
||||||
| j.shouldFail())
|
|
||||||
|
|
||||||
yieldObj = {'target': yObj}
|
if self.__createPresets:
|
||||||
|
|
||||||
if self.__createPresets:
|
dc2_p = DC2(self._context, createPresets = True)
|
||||||
|
tc2_p = TC2(self._context, createPresets = True)
|
||||||
|
|
||||||
dc2_p = DC2(self._context, createPresets = True)
|
mtc_p = MTC(self._context, createPresets = True)
|
||||||
tc2_p = TC2(self._context, createPresets = True)
|
|
||||||
|
|
||||||
mtc_p = MTC(self._context, createPresets = True)
|
yObj_p = {}
|
||||||
|
|
||||||
yObj_p = {}
|
yObj_p['identifier'] = self.getIdentifier()
|
||||||
|
yObj_p['variants'] = [self.getVariant(),
|
||||||
|
f"S:{dc2_p.getVariant()}",
|
||||||
|
f"S:{tc2_p.getVariant()}",
|
||||||
|
mtc_p.getVariant()]
|
||||||
|
|
||||||
yObj_p['identifier'] = self.getIdentifier()
|
yObj_p['payload'] = self.getPayload(dc2_p.getPayload(),
|
||||||
yObj_p['variants'] = [self.getVariant(),
|
tc2_p.getPayload())
|
||||||
f"S:{dc2_p.getVariant()}",
|
|
||||||
f"S:{tc2_p.getVariant()}",
|
|
||||||
mtc_p.getVariant(),
|
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj_p['payload'] = self.getPayload(dc2_p.getPayload(),
|
yObj_p['assertSelectors'] = ['M', 'SD', 'ST', 'MT']
|
||||||
tc2_p.getPayload())
|
yObj_p['assertFuncs'] = [self.assertFunc,
|
||||||
|
dc2_p.createAssertFunc(),
|
||||||
|
tc2_p.createAssertFunc(),
|
||||||
|
mtc_p.createAssertFunc()]
|
||||||
|
|
||||||
yObj_p['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J']
|
yObj_p['shouldFail'] = (self.shouldFail()
|
||||||
yObj_p['assertFuncs'] = [self.assertFunc,
|
| dc2_p.shouldFail()
|
||||||
dc2_p.createAssertFunc(),
|
| tc2_p.shouldFail()
|
||||||
tc2_p.createAssertFunc(),
|
| mtc_p.shouldFail())
|
||||||
mtc_p.createAssertFunc(),
|
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj_p['shouldFail'] = (self.shouldFail()
|
yieldObj['preset'] = yObj_p
|
||||||
| dc2_p.shouldFail()
|
|
||||||
| tc2_p.shouldFail()
|
|
||||||
| mtc_p.shouldFail()
|
|
||||||
| j.shouldFail())
|
|
||||||
|
|
||||||
yieldObj['preset'] = yObj_p
|
yield yieldObj
|
||||||
|
|
||||||
yield yieldObj
|
|
||||||
|
|||||||
@@ -103,10 +103,6 @@ class MediaCombinator3(MediaCombinator):
|
|||||||
for MTC in MediaTagCombinator.getAllClassReferences():
|
for MTC in MediaTagCombinator.getAllClassReferences():
|
||||||
for DC3 in DispositionCombinator3.getAllClassReferences():
|
for DC3 in DispositionCombinator3.getAllClassReferences():
|
||||||
for TC3 in TrackTagCombinator3.getAllClassReferences():
|
for TC3 in TrackTagCombinator3.getAllClassReferences():
|
||||||
for J in JellyfinCombinator.getAllClassReferences():
|
|
||||||
|
|
||||||
j = J(self._context)
|
|
||||||
self._context['use_jellyfin'] = j.getPayload()
|
|
||||||
|
|
||||||
dc3 = DC3(self._context)
|
dc3 = DC3(self._context)
|
||||||
tc3 = TC3(self._context)
|
tc3 = TC3(self._context)
|
||||||
@@ -119,24 +115,21 @@ class MediaCombinator3(MediaCombinator):
|
|||||||
yObj['variants'] = [self.getVariant(),
|
yObj['variants'] = [self.getVariant(),
|
||||||
f"S:{dc3.getVariant()}",
|
f"S:{dc3.getVariant()}",
|
||||||
f"S:{tc3.getVariant()}",
|
f"S:{tc3.getVariant()}",
|
||||||
mtc.getVariant(),
|
mtc.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj['payload'] = self.getPayload(dc3.getPayload(),
|
yObj['payload'] = self.getPayload(dc3.getPayload(),
|
||||||
tc3.getPayload())
|
tc3.getPayload())
|
||||||
|
|
||||||
yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J']
|
yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT']
|
||||||
yObj['assertFuncs'] = [self.assertFunc,
|
yObj['assertFuncs'] = [self.assertFunc,
|
||||||
dc3.createAssertFunc(),
|
dc3.createAssertFunc(),
|
||||||
tc3.createAssertFunc(),
|
tc3.createAssertFunc(),
|
||||||
mtc.createAssertFunc(),
|
mtc.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj['shouldFail'] = (self.shouldFail()
|
yObj['shouldFail'] = (self.shouldFail()
|
||||||
| dc3.shouldFail()
|
| dc3.shouldFail()
|
||||||
| tc3.shouldFail()
|
| tc3.shouldFail()
|
||||||
| mtc.shouldFail()
|
| mtc.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj = {'target': yObj}
|
yieldObj = {'target': yObj}
|
||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
@@ -152,24 +145,21 @@ class MediaCombinator3(MediaCombinator):
|
|||||||
yObj_p['variants'] = [self.getVariant(),
|
yObj_p['variants'] = [self.getVariant(),
|
||||||
f"S:{dc3_p.getVariant()}",
|
f"S:{dc3_p.getVariant()}",
|
||||||
f"S:{tc3_p.getVariant()}",
|
f"S:{tc3_p.getVariant()}",
|
||||||
mtc_p.getVariant(),
|
mtc_p.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj_p['payload'] = self.getPayload(dc3_p.getPayload(),
|
yObj_p['payload'] = self.getPayload(dc3_p.getPayload(),
|
||||||
tc3_p.getPayload())
|
tc3_p.getPayload())
|
||||||
|
|
||||||
yObj_p['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J']
|
yObj_p['assertSelectors'] = ['M', 'SD', 'ST', 'MT']
|
||||||
yObj_p['assertFuncs'] = [self.assertFunc,
|
yObj_p['assertFuncs'] = [self.assertFunc,
|
||||||
dc3_p.createAssertFunc(),
|
dc3_p.createAssertFunc(),
|
||||||
tc3_p.createAssertFunc(),
|
tc3_p.createAssertFunc(),
|
||||||
mtc_p.createAssertFunc(),
|
mtc_p.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj_p['shouldFail'] = (self.shouldFail()
|
yObj_p['shouldFail'] = (self.shouldFail()
|
||||||
| dc3_p.shouldFail()
|
| dc3_p.shouldFail()
|
||||||
| tc3_p.shouldFail()
|
| tc3_p.shouldFail()
|
||||||
| mtc_p.shouldFail()
|
| mtc_p.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj['preset'] = yObj_p
|
yieldObj['preset'] = yObj_p
|
||||||
|
|
||||||
yield yieldObj
|
yield yieldObj
|
||||||
|
|||||||
@@ -83,10 +83,6 @@ class MediaCombinator4(MediaCombinator):
|
|||||||
for MTC in MediaTagCombinator.getAllClassReferences():
|
for MTC in MediaTagCombinator.getAllClassReferences():
|
||||||
for DC2 in DispositionCombinator2.getAllClassReferences():
|
for DC2 in DispositionCombinator2.getAllClassReferences():
|
||||||
for TC2 in TrackTagCombinator2.getAllClassReferences():
|
for TC2 in TrackTagCombinator2.getAllClassReferences():
|
||||||
for J in JellyfinCombinator.getAllClassReferences():
|
|
||||||
|
|
||||||
j = J(self._context)
|
|
||||||
self._context['use_jellyfin'] = j.getPayload()
|
|
||||||
|
|
||||||
dc2 = DC2(self._context)
|
dc2 = DC2(self._context)
|
||||||
tc2 = TC2(self._context)
|
tc2 = TC2(self._context)
|
||||||
@@ -99,24 +95,21 @@ class MediaCombinator4(MediaCombinator):
|
|||||||
yObj['variants'] = [self.getVariant(),
|
yObj['variants'] = [self.getVariant(),
|
||||||
f"A:{dc2.getVariant()}",
|
f"A:{dc2.getVariant()}",
|
||||||
f"A:{tc2.getVariant()}",
|
f"A:{tc2.getVariant()}",
|
||||||
mtc.getVariant(),
|
mtc.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj['payload'] = self.getPayload(dc2.getPayload(),
|
yObj['payload'] = self.getPayload(dc2.getPayload(),
|
||||||
tc2.getPayload())
|
tc2.getPayload())
|
||||||
|
|
||||||
yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT', 'J']
|
yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT']
|
||||||
yObj['assertFuncs'] = [self.assertFunc,
|
yObj['assertFuncs'] = [self.assertFunc,
|
||||||
dc2.createAssertFunc(),
|
dc2.createAssertFunc(),
|
||||||
tc2.createAssertFunc(),
|
tc2.createAssertFunc(),
|
||||||
mtc.createAssertFunc(),
|
mtc.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj['shouldFail'] = (self.shouldFail()
|
yObj['shouldFail'] = (self.shouldFail()
|
||||||
| dc2.shouldFail()
|
| dc2.shouldFail()
|
||||||
| tc2.shouldFail()
|
| tc2.shouldFail()
|
||||||
| mtc.shouldFail()
|
| mtc.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj = {'target': yObj}
|
yieldObj = {'target': yObj}
|
||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
@@ -132,24 +125,21 @@ class MediaCombinator4(MediaCombinator):
|
|||||||
yObj_p['variants'] = [self.getVariant(),
|
yObj_p['variants'] = [self.getVariant(),
|
||||||
f"A:{dc2_p.getVariant()}",
|
f"A:{dc2_p.getVariant()}",
|
||||||
f"A:{tc2_p.getVariant()}",
|
f"A:{tc2_p.getVariant()}",
|
||||||
mtc_p.getVariant(),
|
mtc_p.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj_p['payload'] = self.getPayload(dc2_p.getPayload(),
|
yObj_p['payload'] = self.getPayload(dc2_p.getPayload(),
|
||||||
tc2_p.getPayload())
|
tc2_p.getPayload())
|
||||||
|
|
||||||
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'MT', 'J']
|
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'MT']
|
||||||
yObj_p['assertFuncs'] = [self.assertFunc,
|
yObj_p['assertFuncs'] = [self.assertFunc,
|
||||||
dc2_p.createAssertFunc(),
|
dc2_p.createAssertFunc(),
|
||||||
tc2_p.createAssertFunc(),
|
tc2_p.createAssertFunc(),
|
||||||
mtc_p.createAssertFunc(),
|
mtc_p.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj_p['shouldFail'] = (self.shouldFail()
|
yObj_p['shouldFail'] = (self.shouldFail()
|
||||||
| dc2_p.shouldFail()
|
| dc2_p.shouldFail()
|
||||||
| tc2_p.shouldFail()
|
| tc2_p.shouldFail()
|
||||||
| mtc_p.shouldFail()
|
| mtc_p.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj['preset'] = yObj_p
|
yieldObj['preset'] = yObj_p
|
||||||
|
|
||||||
yield yieldObj
|
yield yieldObj
|
||||||
|
|||||||
@@ -93,10 +93,6 @@ class MediaCombinator5(MediaCombinator):
|
|||||||
for MTC in MediaTagCombinator.getAllClassReferences():
|
for MTC in MediaTagCombinator.getAllClassReferences():
|
||||||
for DC2 in DispositionCombinator2.getAllClassReferences():
|
for DC2 in DispositionCombinator2.getAllClassReferences():
|
||||||
for TC2 in TrackTagCombinator2.getAllClassReferences():
|
for TC2 in TrackTagCombinator2.getAllClassReferences():
|
||||||
for J in JellyfinCombinator.getAllClassReferences():
|
|
||||||
|
|
||||||
j = J(self._context)
|
|
||||||
self._context['use_jellyfin'] = j.getPayload()
|
|
||||||
|
|
||||||
dc2 = DC2(self._context)
|
dc2 = DC2(self._context)
|
||||||
tc2 = TC2(self._context)
|
tc2 = TC2(self._context)
|
||||||
@@ -109,24 +105,21 @@ class MediaCombinator5(MediaCombinator):
|
|||||||
yObj['variants'] = [self.getVariant(),
|
yObj['variants'] = [self.getVariant(),
|
||||||
f"A:{dc2.getVariant()}",
|
f"A:{dc2.getVariant()}",
|
||||||
f"A:{tc2.getVariant()}",
|
f"A:{tc2.getVariant()}",
|
||||||
mtc.getVariant(),
|
mtc.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj['payload'] = self.getPayload(dc2.getPayload(),
|
yObj['payload'] = self.getPayload(dc2.getPayload(),
|
||||||
tc2.getPayload())
|
tc2.getPayload())
|
||||||
|
|
||||||
yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT', 'J']
|
yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT']
|
||||||
yObj['assertFuncs'] = [self.assertFunc,
|
yObj['assertFuncs'] = [self.assertFunc,
|
||||||
dc2.createAssertFunc(),
|
dc2.createAssertFunc(),
|
||||||
tc2.createAssertFunc(),
|
tc2.createAssertFunc(),
|
||||||
mtc.createAssertFunc(),
|
mtc.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj['shouldFail'] = (self.shouldFail()
|
yObj['shouldFail'] = (self.shouldFail()
|
||||||
| dc2.shouldFail()
|
| dc2.shouldFail()
|
||||||
| tc2.shouldFail()
|
| tc2.shouldFail()
|
||||||
| mtc.shouldFail()
|
| mtc.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj = {'target': yObj}
|
yieldObj = {'target': yObj}
|
||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
@@ -142,24 +135,21 @@ class MediaCombinator5(MediaCombinator):
|
|||||||
yObj_p['variants'] = [self.getVariant(),
|
yObj_p['variants'] = [self.getVariant(),
|
||||||
f"A:{dc2_p.getVariant()}",
|
f"A:{dc2_p.getVariant()}",
|
||||||
f"A:{tc2_p.getVariant()}",
|
f"A:{tc2_p.getVariant()}",
|
||||||
mtc_p.getVariant(),
|
mtc_p.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj_p['payload'] = self.getPayload(dc2_p.getPayload(),
|
yObj_p['payload'] = self.getPayload(dc2_p.getPayload(),
|
||||||
tc2_p.getPayload())
|
tc2_p.getPayload())
|
||||||
|
|
||||||
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'MT', 'J']
|
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'MT']
|
||||||
yObj_p['assertFuncs'] = [self.assertFunc,
|
yObj_p['assertFuncs'] = [self.assertFunc,
|
||||||
dc2_p.createAssertFunc(),
|
dc2_p.createAssertFunc(),
|
||||||
tc2_p.createAssertFunc(),
|
tc2_p.createAssertFunc(),
|
||||||
mtc_p.createAssertFunc(),
|
mtc_p.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj_p['shouldFail'] = (self.shouldFail()
|
yObj_p['shouldFail'] = (self.shouldFail()
|
||||||
| dc2_p.shouldFail()
|
| dc2_p.shouldFail()
|
||||||
| tc2_p.shouldFail()
|
| tc2_p.shouldFail()
|
||||||
| mtc_p.shouldFail()
|
| mtc_p.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj['preset'] = yObj_p
|
yieldObj['preset'] = yObj_p
|
||||||
|
|
||||||
yield yieldObj
|
yield yieldObj
|
||||||
|
|||||||
@@ -109,11 +109,7 @@ class MediaCombinator6(MediaCombinator):
|
|||||||
for TC2_A in TrackTagCombinator2.getAllClassReferences():
|
for TC2_A in TrackTagCombinator2.getAllClassReferences():
|
||||||
for DC2_S in DispositionCombinator2.getAllClassReferences():
|
for DC2_S in DispositionCombinator2.getAllClassReferences():
|
||||||
for TC2_S in TrackTagCombinator2.getAllClassReferences():
|
for TC2_S in TrackTagCombinator2.getAllClassReferences():
|
||||||
for J in JellyfinCombinator.getAllClassReferences():
|
|
||||||
|
|
||||||
j = J(self._context)
|
|
||||||
self._context['use_jellyfin'] = j.getPayload()
|
|
||||||
|
|
||||||
dc2a = DC2_A(self._context)
|
dc2a = DC2_A(self._context)
|
||||||
tc2a = TC2_A(self._context)
|
tc2a = TC2_A(self._context)
|
||||||
dc2s = DC2_S(self._context)
|
dc2s = DC2_S(self._context)
|
||||||
@@ -129,30 +125,27 @@ class MediaCombinator6(MediaCombinator):
|
|||||||
f"A:{tc2a.getVariant()}",
|
f"A:{tc2a.getVariant()}",
|
||||||
f"S:{dc2s.getVariant()}",
|
f"S:{dc2s.getVariant()}",
|
||||||
f"S:{tc2s.getVariant()}",
|
f"S:{tc2s.getVariant()}",
|
||||||
mtc.getVariant(),
|
mtc.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj['payload'] = self.getPayload(dc2a.getPayload(),
|
yObj['payload'] = self.getPayload(dc2a.getPayload(),
|
||||||
tc2a.getPayload(),
|
tc2a.getPayload(),
|
||||||
dc2s.getPayload(),
|
dc2s.getPayload(),
|
||||||
tc2s.getPayload())
|
tc2s.getPayload())
|
||||||
|
|
||||||
yObj['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT', 'J']
|
yObj['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT']
|
||||||
yObj['assertFuncs'] = [self.assertFunc,
|
yObj['assertFuncs'] = [self.assertFunc,
|
||||||
dc2a.createAssertFunc(),
|
dc2a.createAssertFunc(),
|
||||||
tc2a.createAssertFunc(),
|
tc2a.createAssertFunc(),
|
||||||
dc2s.createAssertFunc(),
|
dc2s.createAssertFunc(),
|
||||||
tc2s.createAssertFunc(),
|
tc2s.createAssertFunc(),
|
||||||
mtc.createAssertFunc(),
|
mtc.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj['shouldFail'] = (self.shouldFail()
|
yObj['shouldFail'] = (self.shouldFail()
|
||||||
| dc2a.shouldFail()
|
| dc2a.shouldFail()
|
||||||
| tc2a.shouldFail()
|
| tc2a.shouldFail()
|
||||||
| dc2s.shouldFail()
|
| dc2s.shouldFail()
|
||||||
| tc2s.shouldFail()
|
| tc2s.shouldFail()
|
||||||
| mtc.shouldFail()
|
| mtc.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj = {'target': yObj}
|
yieldObj = {'target': yObj}
|
||||||
|
|
||||||
if self.__createPresets:
|
if self.__createPresets:
|
||||||
@@ -172,30 +165,27 @@ class MediaCombinator6(MediaCombinator):
|
|||||||
f"A:{tc2a_p.getVariant()}",
|
f"A:{tc2a_p.getVariant()}",
|
||||||
f"S:{dc2s_p.getVariant()}",
|
f"S:{dc2s_p.getVariant()}",
|
||||||
f"S:{tc2s_p.getVariant()}",
|
f"S:{tc2s_p.getVariant()}",
|
||||||
mtc_p.getVariant(),
|
mtc_p.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj_p['payload'] = self.getPayload(dc2a_p.getPayload(),
|
yObj_p['payload'] = self.getPayload(dc2a_p.getPayload(),
|
||||||
tc2a_p.getPayload(),
|
tc2a_p.getPayload(),
|
||||||
dc2s_p.getPayload(),
|
dc2s_p.getPayload(),
|
||||||
tc2s_p.getPayload())
|
tc2s_p.getPayload())
|
||||||
|
|
||||||
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT', 'J']
|
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT']
|
||||||
yObj_p['assertFuncs'] = [self.assertFunc,
|
yObj_p['assertFuncs'] = [self.assertFunc,
|
||||||
dc2a_p.createAssertFunc(),
|
dc2a_p.createAssertFunc(),
|
||||||
tc2a_p.createAssertFunc(),
|
tc2a_p.createAssertFunc(),
|
||||||
dc2s_p.createAssertFunc(),
|
dc2s_p.createAssertFunc(),
|
||||||
tc2s_p.createAssertFunc(),
|
tc2s_p.createAssertFunc(),
|
||||||
mtc_p.createAssertFunc(),
|
mtc_p.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj_p['shouldFail'] = (self.shouldFail()
|
yObj_p['shouldFail'] = (self.shouldFail()
|
||||||
| dc2a_p.shouldFail()
|
| dc2a_p.shouldFail()
|
||||||
| tc2a_p.shouldFail()
|
| tc2a_p.shouldFail()
|
||||||
| dc2s_p.shouldFail()
|
| dc2s_p.shouldFail()
|
||||||
| tc2s_p.shouldFail()
|
| tc2s_p.shouldFail()
|
||||||
| mtc_p.shouldFail()
|
| mtc_p.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj['preset'] = yObj_p
|
yieldObj['preset'] = yObj_p
|
||||||
|
|
||||||
yield yieldObj
|
yield yieldObj
|
||||||
|
|||||||
@@ -160,8 +160,8 @@ class MediaCombinator7(MediaCombinator):
|
|||||||
yObj['assertSelectors'] = ['M', 'AP', 'SP', 'AD', 'AT', 'SD', 'ST', 'MT']
|
yObj['assertSelectors'] = ['M', 'AP', 'SP', 'AD', 'AT', 'SD', 'ST', 'MT']
|
||||||
|
|
||||||
yObj['assertFuncs'] = [self.assertFunc,
|
yObj['assertFuncs'] = [self.assertFunc,
|
||||||
p2y.createAssertFunc(),
|
p2y['assertFunc'],
|
||||||
p3y.createAssertFunc(),
|
p3y['assertFunc'],
|
||||||
dc2a.createAssertFunc(),
|
dc2a.createAssertFunc(),
|
||||||
tc2a.createAssertFunc(),
|
tc2a.createAssertFunc(),
|
||||||
dc3s.createAssertFunc(),
|
dc3s.createAssertFunc(),
|
||||||
@@ -169,8 +169,8 @@ class MediaCombinator7(MediaCombinator):
|
|||||||
mtc.createAssertFunc()]
|
mtc.createAssertFunc()]
|
||||||
|
|
||||||
yObj['shouldFail'] = (self.shouldFail()
|
yObj['shouldFail'] = (self.shouldFail()
|
||||||
| p2y.shouldFail()
|
| p2y['shouldFail']
|
||||||
| p3y.shouldFail()
|
| p3y['shouldFail']
|
||||||
| dc2a.shouldFail()
|
| dc2a.shouldFail()
|
||||||
| tc2a.shouldFail()
|
| tc2a.shouldFail()
|
||||||
| dc3s.shouldFail()
|
| dc3s.shouldFail()
|
||||||
@@ -191,35 +191,40 @@ class MediaCombinator7(MediaCombinator):
|
|||||||
|
|
||||||
yObj_p['identifier'] = self.getIdentifier()
|
yObj_p['identifier'] = self.getIdentifier()
|
||||||
yObj_p['variants'] = [self.getVariant(),
|
yObj_p['variants'] = [self.getVariant(),
|
||||||
|
f"A:{p2y['variant']}",
|
||||||
|
f"S:{p3y['variant']}",
|
||||||
f"A:{dc2a_p.getVariant()}",
|
f"A:{dc2a_p.getVariant()}",
|
||||||
f"A:{tc2a_p.getVariant()}",
|
f"A:{tc2a_p.getVariant()}",
|
||||||
f"S:{dc3s_p.getVariant()}",
|
f"S:{dc3s_p.getVariant()}",
|
||||||
f"S:{tc3s_p.getVariant()}",
|
f"S:{tc3s_p.getVariant()}",
|
||||||
mtc_p.getVariant(),
|
mtc_p.getVariant()]
|
||||||
j.getVariant()]
|
|
||||||
|
|
||||||
yObj_p['payload'] = self.getPayload(dc2a_p.getPayload(),
|
yObj_p['payload'] = self.getPayload(p2y['permutation'],
|
||||||
|
p3y['permutation'],
|
||||||
|
dc2a_p.getPayload(),
|
||||||
tc2a_p.getPayload(),
|
tc2a_p.getPayload(),
|
||||||
dc3s_p.getPayload(),
|
dc3s_p.getPayload(),
|
||||||
tc3s_p.getPayload())
|
tc3s_p.getPayload())
|
||||||
|
|
||||||
yObj_p['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT', 'J']
|
yObj_p['assertSelectors'] = ['M', 'AP', 'SP', 'AD', 'AT', 'SD', 'ST', 'MT']
|
||||||
|
|
||||||
yObj_p['assertFuncs'] = [self.assertFunc,
|
yObj_p['assertFuncs'] = [self.assertFunc,
|
||||||
|
p2y['assertFunc'],
|
||||||
|
p3y['assertFunc'],
|
||||||
dc2a_p.createAssertFunc(),
|
dc2a_p.createAssertFunc(),
|
||||||
tc2a_p.createAssertFunc(),
|
tc2a_p.createAssertFunc(),
|
||||||
dc3s_p.createAssertFunc(),
|
dc3s_p.createAssertFunc(),
|
||||||
tc3s_p.createAssertFunc(),
|
tc3s_p.createAssertFunc(),
|
||||||
mtc_p.createAssertFunc(),
|
mtc_p.createAssertFunc()]
|
||||||
j.assertFunc]
|
|
||||||
|
|
||||||
yObj_p['shouldFail'] = (self.shouldFail()
|
yObj_p['shouldFail'] = (self.shouldFail()
|
||||||
|
| p2y['shouldFail']
|
||||||
|
| p3y['shouldFail']
|
||||||
| dc2a_p.shouldFail()
|
| dc2a_p.shouldFail()
|
||||||
| tc2a_p.shouldFail()
|
| tc2a_p.shouldFail()
|
||||||
| dc3s_p.shouldFail()
|
| dc3s_p.shouldFail()
|
||||||
| tc3s_p.shouldFail()
|
| tc3s_p.shouldFail()
|
||||||
| mtc_p.shouldFail()
|
| mtc_p.shouldFail())
|
||||||
| j.shouldFail())
|
|
||||||
yieldObj['preset'] = yObj_p
|
yieldObj['preset'] = yObj_p
|
||||||
|
|
||||||
yield yieldObj
|
yield yieldObj
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ class PermutationCombinator2():
|
|||||||
def getPayload(self, permutationIndex):
|
def getPayload(self, permutationIndex):
|
||||||
return {
|
return {
|
||||||
'variant': f"P{permutationIndex}",
|
'variant': f"P{permutationIndex}",
|
||||||
'permutation': PermutationCombinator2.PERMUTATION_LIST[permutationIndex]
|
'permutation': PermutationCombinator2.PERMUTATION_LIST[permutationIndex],
|
||||||
|
'assertFunc': self.createAssertFunc(),
|
||||||
|
'shouldFail': self.shouldFail()
|
||||||
}
|
}
|
||||||
|
|
||||||
def createAssertFunc(self):
|
def createAssertFunc(self):
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ class PermutationCombinator3():
|
|||||||
def getPayload(self, permutationIndex):
|
def getPayload(self, permutationIndex):
|
||||||
return {
|
return {
|
||||||
'variant': f"P{permutationIndex}",
|
'variant': f"P{permutationIndex}",
|
||||||
'permutation': PermutationCombinator3.PERMUTATION_LIST[permutationIndex]
|
'permutation': PermutationCombinator3.PERMUTATION_LIST[permutationIndex],
|
||||||
|
'assertFunc': self.createAssertFunc(),
|
||||||
|
'shouldFail': self.shouldFail()
|
||||||
}
|
}
|
||||||
|
|
||||||
def createAssertFunc(self):
|
def createAssertFunc(self):
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from ffx.database import databaseContext
|
|||||||
class Scenario():
|
class Scenario():
|
||||||
"""Scenarios
|
"""Scenarios
|
||||||
|
|
||||||
Scenario1: Jellyfin, MediaTags, Stream-Kombinationen, Dispositions und StreamTags per Kombinatoren
|
Scenario1: MediaTags, Stream-Kombinationen, Dispositions und StreamTags per Kombinatoren
|
||||||
|
|
||||||
Scenario2: <pattern> mit 3 Files x Scenario1
|
Scenario2: <pattern> mit 3 Files x Scenario1
|
||||||
|
|
||||||
@@ -25,8 +25,7 @@ class Scenario():
|
|||||||
|
|
||||||
tmdb lookup: Set Showname as prefix, append episode name
|
tmdb lookup: Set Showname as prefix, append episode name
|
||||||
pattern lookup: Set/update tags/dispositions; Filter/Reorder Tracks
|
pattern lookup: Set/update tags/dispositions; Filter/Reorder Tracks
|
||||||
jellyfin reordering: default track last (2)
|
|
||||||
|
|
||||||
MediaTag-Kombinationen (2)
|
MediaTag-Kombinationen (2)
|
||||||
|
|
||||||
0: nichs
|
0: nichs
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ class Scenario1(Scenario):
|
|||||||
|
|
||||||
def __init__(self, context):
|
def __init__(self, context):
|
||||||
|
|
||||||
context['use_jellyfin'] = True
|
|
||||||
context['use_tmdb'] = False
|
context['use_tmdb'] = False
|
||||||
context['use_pattern'] = False
|
context['use_pattern'] = False
|
||||||
|
|
||||||
@@ -68,7 +67,7 @@ class Scenario1(Scenario):
|
|||||||
if self._context['test_variant'] and not variantIdentifier.startswith(self._context['test_variant']):
|
if self._context['test_variant'] and not variantIdentifier.startswith(self._context['test_variant']):
|
||||||
return
|
return
|
||||||
|
|
||||||
if ((self._context['test_passed_counter'] + self._context['test_failed_counter'])
|
if (self._context['test_limit'] and (self._context['test_passed_counter'] + self._context['test_failed_counter'])
|
||||||
>= self._context['test_limit']):
|
>= self._context['test_limit']):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ class Scenario2(Scenario):
|
|||||||
|
|
||||||
def __init__(self, context):
|
def __init__(self, context):
|
||||||
|
|
||||||
context['use_jellyfin'] = True
|
|
||||||
context['use_tmdb'] = False
|
context['use_tmdb'] = False
|
||||||
context['use_pattern'] = False
|
context['use_pattern'] = False
|
||||||
|
|
||||||
@@ -56,18 +55,11 @@ class Scenario2(Scenario):
|
|||||||
assertFuncList = targetYieldObj['assertFuncs']
|
assertFuncList = targetYieldObj['assertFuncs']
|
||||||
shouldFail = targetYieldObj['shouldFail']
|
shouldFail = targetYieldObj['shouldFail']
|
||||||
|
|
||||||
try:
|
|
||||||
jellyfinSelectorIndex = assertSelectorList.index('J')
|
|
||||||
jellyfinVariant = variantList[jellyfinSelectorIndex]
|
|
||||||
testContext['use_jellyfin'] = jellyfinVariant == 'J1'
|
|
||||||
except ValueError:
|
|
||||||
jellyfinSelectorIndex = -1
|
|
||||||
|
|
||||||
|
|
||||||
if self._context['test_variant'] and not variantIdentifier.startswith(self._context['test_variant']):
|
if self._context['test_variant'] and not variantIdentifier.startswith(self._context['test_variant']):
|
||||||
return
|
return
|
||||||
|
|
||||||
if ((self._context['test_passed_counter'] + self._context['test_failed_counter'])
|
if (self._context['test_limit'] and (self._context['test_passed_counter'] + self._context['test_failed_counter'])
|
||||||
>= self._context['test_limit']):
|
>= self._context['test_limit']):
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -130,10 +122,6 @@ class Scenario2(Scenario):
|
|||||||
resultFileProperties = FileProperties(testContext, resultFile)
|
resultFileProperties = FileProperties(testContext, resultFile)
|
||||||
resultMediaDescriptor = resultFileProperties.getMediaDescriptor()
|
resultMediaDescriptor = resultFileProperties.getMediaDescriptor()
|
||||||
|
|
||||||
# if testContext['use_jellyfin']:
|
|
||||||
# sourceMediaDescriptor.applyJellyfinOrder()
|
|
||||||
# resultMediaDescriptor.applySourceIndices(sourceMediaDescriptor)
|
|
||||||
|
|
||||||
resultMediaTracks = resultMediaDescriptor.getAllTrackDescriptors()
|
resultMediaTracks = resultMediaDescriptor.getAllTrackDescriptors()
|
||||||
|
|
||||||
for assertIndex in range(len(assertSelectorList)):
|
for assertIndex in range(len(assertSelectorList)):
|
||||||
|
|||||||
@@ -110,18 +110,11 @@ class Scenario4(Scenario):
|
|||||||
assertFuncList = presetYieldObj['assertFuncs']
|
assertFuncList = presetYieldObj['assertFuncs']
|
||||||
shouldFail = presetYieldObj['shouldFail']
|
shouldFail = presetYieldObj['shouldFail']
|
||||||
|
|
||||||
try:
|
|
||||||
jellyfinSelectorIndex = assertSelectorList.index('J')
|
|
||||||
jellyfinVariant = variantList[jellyfinSelectorIndex]
|
|
||||||
testContext['use_jellyfin'] = jellyfinVariant == 'J1'
|
|
||||||
except ValueError:
|
|
||||||
jellyfinSelectorIndex = -1
|
|
||||||
|
|
||||||
|
|
||||||
if self._context['test_variant'] and not variantIdentifier.startswith(self._context['test_variant']):
|
if self._context['test_variant'] and not variantIdentifier.startswith(self._context['test_variant']):
|
||||||
return
|
return
|
||||||
|
|
||||||
if ((self._context['test_passed_counter'] + self._context['test_failed_counter'])
|
if (self._context['test_limit'] and (self._context['test_passed_counter'] + self._context['test_failed_counter'])
|
||||||
>= self._context['test_limit']):
|
>= self._context['test_limit']):
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -232,9 +225,6 @@ class Scenario4(Scenario):
|
|||||||
for l in rmd.getConfiguration(label = 'resultMediaDescriptor'):
|
for l in rmd.getConfiguration(label = 'resultMediaDescriptor'):
|
||||||
self._logger.debug(l)
|
self._logger.debug(l)
|
||||||
|
|
||||||
# if testContext['use_jellyfin']:
|
|
||||||
# sourceMediaDescriptor.applyJellyfinOrder()
|
|
||||||
|
|
||||||
# num tracks differ
|
# num tracks differ
|
||||||
rmd.applySourceIndices(sourceMediaDescriptor)
|
rmd.applySourceIndices(sourceMediaDescriptor)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user