diff --git a/.gitignore b/.gitignore index 2c416ef..4284f13 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ junk/ .ipynb_checkpoints/ ansible/inventory/hawaii.yml ansible/inventory/peppermint.yml +ffx_test_report.log diff --git a/bin/ffx.py b/bin/ffx.py index 5508dbe..cec7a07 100755 --- a/bin/ffx.py +++ b/bin/ffx.py @@ -372,7 +372,6 @@ def convert(ctx, episode, no_tmdb, - # no_jellyfin, no_pattern, dont_pass_dispositions, no_prompt, @@ -396,10 +395,6 @@ def convert(ctx, targetFormat = FfxController.DEFAULT_FILE_FORMAT targetExtension = FfxController.DEFAULT_FILE_EXTENSION - - - #TODO: #407 Without effect -> remove - context['use_jellyfin'] = False context['use_tmdb'] = not no_tmdb context['use_pattern'] = not no_pattern diff --git a/bin/ffx/ffx_controller.py b/bin/ffx/ffx_controller.py index ac83590..5a9d818 100644 --- a/bin/ffx/ffx_controller.py +++ b/bin/ffx/ffx_controller.py @@ -34,6 +34,7 @@ class FfxController(): CHANNEL_MAP_5_1 = 'FL-FL|FR-FR|FC-FC|LFE-LFE|SL-BL|SR-BR:5.1' + #! SIGNATURE_TAGS = {'RECODED_WITH': 'FFX'} def __init__(self, @@ -47,10 +48,6 @@ class FfxController(): 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'] diff --git a/bin/ffx/media_descriptor.py b/bin/ffx/media_descriptor.py index 11937b4..37510f1 100644 --- a/bin/ffx/media_descriptor.py +++ b/bin/ffx/media_descriptor.py @@ -27,8 +27,7 @@ class MediaDescriptor: FFPROBE_TAGS_KEY = "tags" FFPROBE_CODEC_TYPE_KEY = "codec_type" - # JELLYFIN_ORDER_FLAG_KEY = "jellyfin_order" - + #407 remove as well EXCLUDED_MEDIA_TAGS = ["creation_time"] SEASON_EPISODE_STREAM_LANGUAGE_MATCH = '[sS]([0-9]+)[eE]([0-9]+)_([0-9]+)_([a-z]{3})' @@ -72,9 +71,6 @@ class MediaDescriptor: else: self.__trackDescriptors = [] - #TODO: to be removed - self.__jellyfinOrder = False - def setTrackLanguage(self, language: str, index: int, trackType: TrackType = None): trackLanguage = IsoLanguage.findThreeLetter(language) @@ -358,12 +354,8 @@ class MediaDescriptor: for tp in range(maxNumOfTracks): - # inspect/update funktionier nur so - if self.__jellyfinOrder: - vsTrackIndex = tracks[tp].getSourceIndex() - else: - vsTrackIndex = tp - # vsTrackIndex = tracks[tp].getSourceIndex() + #! + vsTrackIndex = tracks[tp].getSourceIndex() # Will trigger if tracks are missing in file if tp > (numVsTracks - 1): @@ -431,9 +423,6 @@ class MediaDescriptor: # sti = self.__trackDescriptors[trackIndex].getSourceIndex() # sotd = sourceOrderTrackDescriptors[sti] - # appearently this negates applyJellyfinOrder - #for rtd in sorted(self.__trackDescriptors.copy(), key=lambda d: d.getSourceIndex()): - trackType = td.getType() if (trackType == TrackType.VIDEO or not only_video): diff --git a/bin/ffx/test/disposition_combinator_2_1.py b/bin/ffx/test/disposition_combinator_2_1.py index b68ef29..bde99dc 100644 --- a/bin/ffx/test/disposition_combinator_2_1.py +++ b/bin/ffx/test/disposition_combinator_2_1.py @@ -41,71 +41,36 @@ class DispositionCombinator21(DispositionCombinator2): if self.__createPresets: - 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'] - - # source subIndex 1 - 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.FORCED) - ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved set 'forced' 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" - # assert (trackDescriptors[1].getDispositionFlag(TrackDisposition.COMMENT) - # ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved set 'comment' 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" + + 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: - 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'] - - # source subIndex 1 - 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" + 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 diff --git a/bin/ffx/test/disposition_combinator_3_1.py b/bin/ffx/test/disposition_combinator_3_1.py index 98bdc92..d6f4b96 100644 --- a/bin/ffx/test/disposition_combinator_3_1.py +++ b/bin/ffx/test/disposition_combinator_3_1.py @@ -45,101 +45,51 @@ class DispositionCombinator31(DispositionCombinator3): if self.__createPresets: - 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'] - - # source subIndex 1 - 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.FORCED) - ), f"Stream #0 index={trackDescriptors[0].getIndex()} [{trackDescriptors[0].getType().label()}:{trackDescriptors[0].getSubIndex()}] has not preserved descriptions disposition" - - # source subIndex 2 - 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.HEARING_IMPAIRED) - # ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved default disposition" - - # source subIndex 0 - 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.COMMENT) - # ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved 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" - # 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" + def f(assertObj: dict): - else: - - if self._context['use_jellyfin']: + if not 'tracks' in assertObj.keys(): + raise KeyError("assertObj does not contain key 'tracks'") - def f(assertObj: dict): - - if not 'tracks' in assertObj.keys(): - raise KeyError("assertObj does not contain key 'tracks'") + trackDescriptors = assertObj['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[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" + 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[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" + # 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" - # source subIndex 0 - 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: - else: - 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 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 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 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" + # 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 diff --git a/bin/ffx/test/disposition_combinator_3_2.py b/bin/ffx/test/disposition_combinator_3_2.py index eb601ba..f6513c2 100644 --- a/bin/ffx/test/disposition_combinator_3_2.py +++ b/bin/ffx/test/disposition_combinator_3_2.py @@ -45,87 +45,44 @@ class DispositionCombinator32(DispositionCombinator3): def createAssertFunc(self): if self.__createPresets: - 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'] - - # 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 2 - 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 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" - # assert (trackDescriptors[2].getDispositionFlag(TrackDisposition.DESCRIPTIONS) - # ), f"Stream #2 index={trackDescriptors[2].getIndex()} [{trackDescriptors[2].getType().label()}:{trackDescriptors[2].getSubIndex()}] has not preserved descriptions 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" + + 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: - 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'] - - # 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 2 - 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" + 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 def shouldFail(self): diff --git a/bin/ffx/test/disposition_combinator_3_3.py b/bin/ffx/test/disposition_combinator_3_3.py index ff484c8..d242a2e 100644 --- a/bin/ffx/test/disposition_combinator_3_3.py +++ b/bin/ffx/test/disposition_combinator_3_3.py @@ -45,87 +45,44 @@ class DispositionCombinator33(DispositionCombinator3): def createAssertFunc(self): if self.__createPresets: - 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'] - - # 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 2 - 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.HEARING_IMPAIRED) - # ), f"Stream #1 index={trackDescriptors[1].getIndex()} [{trackDescriptors[1].getType().label()}:{trackDescriptors[1].getSubIndex()}] has not preserved 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" - 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" - - 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" + + 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: - 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'] - - # 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 2 - 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" + 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 def shouldFail(self): diff --git a/bin/ffx/test/helper.py b/bin/ffx/test/helper.py index 882c21e..2c35734 100644 --- a/bin/ffx/test/helper.py +++ b/bin/ffx/test/helper.py @@ -9,6 +9,7 @@ from ffx.media_descriptor import MediaDescriptor from ffx.track_type import TrackType from ffx.helper import dictCache +from ffx.configuration_controller import ConfigurationController SHORT_SUBTITLE_SEQUENCE = [{'start': 1, 'end': 2, 'text': 'yolo'}, @@ -230,7 +231,8 @@ def createMediaTestFile(mediaDescriptor: MediaDescriptor, f"{mediaTagKey}={mediaTagValue}"] subIndexCounter[trackType] += 1 - ffxContext = {'logger': logger} + #TODO: Optimize too many runs + ffxContext = {'config': ConfigurationController(), 'logger': logger} fc = FfxController(ffxContext, mediaDescriptor) commandTokens += (generatorTokens diff --git a/bin/ffx/test/media_combinator_2.py b/bin/ffx/test/media_combinator_2.py index 96d2731..ccb71a6 100644 --- a/bin/ffx/test/media_combinator_2.py +++ b/bin/ffx/test/media_combinator_2.py @@ -92,75 +92,65 @@ class MediaCombinator2(MediaCombinator): for MTC in MediaTagCombinator.getAllClassReferences(): for DC2 in DispositionCombinator2.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) + tc2 = TC2(self._context) - dc2 = DC2(self._context) - tc2 = TC2(self._context) + mtc = MTC(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['variants'] = [self.getVariant(), - f"S:{dc2.getVariant()}", - f"S:{tc2.getVariant()}", - mtc.getVariant(), - j.getVariant()] + yObj['payload'] = self.getPayload(dc2.getPayload(), + tc2.getPayload()) - yObj['payload'] = self.getPayload(dc2.getPayload(), - tc2.getPayload()) + yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT'] + yObj['assertFuncs'] = [self.assertFunc, + dc2.createAssertFunc(), + tc2.createAssertFunc(), + mtc.createAssertFunc()] - yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J'] - yObj['assertFuncs'] = [self.assertFunc, - dc2.createAssertFunc(), - tc2.createAssertFunc(), - mtc.createAssertFunc(), - j.assertFunc] + yObj['shouldFail'] = (self.shouldFail() + | dc2.shouldFail() + | tc2.shouldFail() + | mtc.shouldFail()) - yObj['shouldFail'] = (self.shouldFail() - | dc2.shouldFail() - | tc2.shouldFail() - | mtc.shouldFail() - | j.shouldFail()) + yieldObj = {'target': yObj} - 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) - tc2_p = TC2(self._context, createPresets = True) + mtc_p = MTC(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['variants'] = [self.getVariant(), - f"S:{dc2_p.getVariant()}", - f"S:{tc2_p.getVariant()}", - mtc_p.getVariant(), - j.getVariant()] + yObj_p['payload'] = self.getPayload(dc2_p.getPayload(), + tc2_p.getPayload()) - yObj_p['payload'] = self.getPayload(dc2_p.getPayload(), - tc2_p.getPayload()) + yObj_p['assertSelectors'] = ['M', 'SD', 'ST', 'MT'] + yObj_p['assertFuncs'] = [self.assertFunc, + dc2_p.createAssertFunc(), + tc2_p.createAssertFunc(), + mtc_p.createAssertFunc()] - yObj_p['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J'] - yObj_p['assertFuncs'] = [self.assertFunc, - dc2_p.createAssertFunc(), - tc2_p.createAssertFunc(), - mtc_p.createAssertFunc(), - j.assertFunc] + yObj_p['shouldFail'] = (self.shouldFail() + | dc2_p.shouldFail() + | tc2_p.shouldFail() + | mtc_p.shouldFail()) - yObj_p['shouldFail'] = (self.shouldFail() - | dc2_p.shouldFail() - | tc2_p.shouldFail() - | mtc_p.shouldFail() - | j.shouldFail()) + yieldObj['preset'] = yObj_p - yieldObj['preset'] = yObj_p - - yield yieldObj + yield yieldObj diff --git a/bin/ffx/test/media_combinator_3.py b/bin/ffx/test/media_combinator_3.py index e3f000d..36998f1 100644 --- a/bin/ffx/test/media_combinator_3.py +++ b/bin/ffx/test/media_combinator_3.py @@ -103,10 +103,6 @@ class MediaCombinator3(MediaCombinator): for MTC in MediaTagCombinator.getAllClassReferences(): for DC3 in DispositionCombinator3.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) tc3 = TC3(self._context) @@ -119,24 +115,21 @@ class MediaCombinator3(MediaCombinator): yObj['variants'] = [self.getVariant(), f"S:{dc3.getVariant()}", f"S:{tc3.getVariant()}", - mtc.getVariant(), - j.getVariant()] + mtc.getVariant()] yObj['payload'] = self.getPayload(dc3.getPayload(), tc3.getPayload()) - yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT', 'J'] + yObj['assertSelectors'] = ['M', 'SD', 'ST', 'MT'] yObj['assertFuncs'] = [self.assertFunc, dc3.createAssertFunc(), tc3.createAssertFunc(), - mtc.createAssertFunc(), - j.assertFunc] + mtc.createAssertFunc()] yObj['shouldFail'] = (self.shouldFail() | dc3.shouldFail() | tc3.shouldFail() - | mtc.shouldFail() - | j.shouldFail()) + | mtc.shouldFail()) yieldObj = {'target': yObj} if self.__createPresets: @@ -152,24 +145,21 @@ class MediaCombinator3(MediaCombinator): yObj_p['variants'] = [self.getVariant(), f"S:{dc3_p.getVariant()}", f"S:{tc3_p.getVariant()}", - mtc_p.getVariant(), - j.getVariant()] + mtc_p.getVariant()] yObj_p['payload'] = self.getPayload(dc3_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, dc3_p.createAssertFunc(), tc3_p.createAssertFunc(), - mtc_p.createAssertFunc(), - j.assertFunc] + mtc_p.createAssertFunc()] yObj_p['shouldFail'] = (self.shouldFail() | dc3_p.shouldFail() | tc3_p.shouldFail() - | mtc_p.shouldFail() - | j.shouldFail()) + | mtc_p.shouldFail()) yieldObj['preset'] = yObj_p yield yieldObj diff --git a/bin/ffx/test/media_combinator_4.py b/bin/ffx/test/media_combinator_4.py index f33d2ed..e63346c 100644 --- a/bin/ffx/test/media_combinator_4.py +++ b/bin/ffx/test/media_combinator_4.py @@ -83,10 +83,6 @@ class MediaCombinator4(MediaCombinator): for MTC in MediaTagCombinator.getAllClassReferences(): for DC2 in DispositionCombinator2.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) tc2 = TC2(self._context) @@ -99,24 +95,21 @@ class MediaCombinator4(MediaCombinator): yObj['variants'] = [self.getVariant(), f"A:{dc2.getVariant()}", f"A:{tc2.getVariant()}", - mtc.getVariant(), - j.getVariant()] + mtc.getVariant()] yObj['payload'] = self.getPayload(dc2.getPayload(), tc2.getPayload()) - yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT', 'J'] + yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT'] yObj['assertFuncs'] = [self.assertFunc, dc2.createAssertFunc(), tc2.createAssertFunc(), - mtc.createAssertFunc(), - j.assertFunc] + mtc.createAssertFunc()] yObj['shouldFail'] = (self.shouldFail() | dc2.shouldFail() | tc2.shouldFail() - | mtc.shouldFail() - | j.shouldFail()) + | mtc.shouldFail()) yieldObj = {'target': yObj} if self.__createPresets: @@ -132,24 +125,21 @@ class MediaCombinator4(MediaCombinator): yObj_p['variants'] = [self.getVariant(), f"A:{dc2_p.getVariant()}", f"A:{tc2_p.getVariant()}", - mtc_p.getVariant(), - j.getVariant()] + mtc_p.getVariant()] yObj_p['payload'] = self.getPayload(dc2_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, dc2_p.createAssertFunc(), tc2_p.createAssertFunc(), - mtc_p.createAssertFunc(), - j.assertFunc] + mtc_p.createAssertFunc()] yObj_p['shouldFail'] = (self.shouldFail() | dc2_p.shouldFail() | tc2_p.shouldFail() - | mtc_p.shouldFail() - | j.shouldFail()) + | mtc_p.shouldFail()) yieldObj['preset'] = yObj_p yield yieldObj diff --git a/bin/ffx/test/media_combinator_5.py b/bin/ffx/test/media_combinator_5.py index cff42d8..dec663a 100644 --- a/bin/ffx/test/media_combinator_5.py +++ b/bin/ffx/test/media_combinator_5.py @@ -93,10 +93,6 @@ class MediaCombinator5(MediaCombinator): for MTC in MediaTagCombinator.getAllClassReferences(): for DC2 in DispositionCombinator2.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) tc2 = TC2(self._context) @@ -109,24 +105,21 @@ class MediaCombinator5(MediaCombinator): yObj['variants'] = [self.getVariant(), f"A:{dc2.getVariant()}", f"A:{tc2.getVariant()}", - mtc.getVariant(), - j.getVariant()] + mtc.getVariant()] yObj['payload'] = self.getPayload(dc2.getPayload(), tc2.getPayload()) - yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT', 'J'] + yObj['assertSelectors'] = ['M', 'AD', 'AT', 'MT'] yObj['assertFuncs'] = [self.assertFunc, dc2.createAssertFunc(), tc2.createAssertFunc(), - mtc.createAssertFunc(), - j.assertFunc] + mtc.createAssertFunc()] yObj['shouldFail'] = (self.shouldFail() | dc2.shouldFail() | tc2.shouldFail() - | mtc.shouldFail() - | j.shouldFail()) + | mtc.shouldFail()) yieldObj = {'target': yObj} if self.__createPresets: @@ -142,24 +135,21 @@ class MediaCombinator5(MediaCombinator): yObj_p['variants'] = [self.getVariant(), f"A:{dc2_p.getVariant()}", f"A:{tc2_p.getVariant()}", - mtc_p.getVariant(), - j.getVariant()] + mtc_p.getVariant()] yObj_p['payload'] = self.getPayload(dc2_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, dc2_p.createAssertFunc(), tc2_p.createAssertFunc(), - mtc_p.createAssertFunc(), - j.assertFunc] + mtc_p.createAssertFunc()] yObj_p['shouldFail'] = (self.shouldFail() | dc2_p.shouldFail() | tc2_p.shouldFail() - | mtc_p.shouldFail() - | j.shouldFail()) + | mtc_p.shouldFail()) yieldObj['preset'] = yObj_p yield yieldObj diff --git a/bin/ffx/test/media_combinator_6.py b/bin/ffx/test/media_combinator_6.py index 86e9620..88b95d6 100644 --- a/bin/ffx/test/media_combinator_6.py +++ b/bin/ffx/test/media_combinator_6.py @@ -109,11 +109,7 @@ class MediaCombinator6(MediaCombinator): for TC2_A in TrackTagCombinator2.getAllClassReferences(): for DC2_S in DispositionCombinator2.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) tc2a = TC2_A(self._context) dc2s = DC2_S(self._context) @@ -129,30 +125,27 @@ class MediaCombinator6(MediaCombinator): f"A:{tc2a.getVariant()}", f"S:{dc2s.getVariant()}", f"S:{tc2s.getVariant()}", - mtc.getVariant(), - j.getVariant()] + mtc.getVariant()] yObj['payload'] = self.getPayload(dc2a.getPayload(), tc2a.getPayload(), dc2s.getPayload(), tc2s.getPayload()) - yObj['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT', 'J'] + yObj['assertSelectors'] = ['M', 'AD', 'AT', 'SD', 'ST', 'MT'] yObj['assertFuncs'] = [self.assertFunc, dc2a.createAssertFunc(), tc2a.createAssertFunc(), dc2s.createAssertFunc(), tc2s.createAssertFunc(), - mtc.createAssertFunc(), - j.assertFunc] + mtc.createAssertFunc()] yObj['shouldFail'] = (self.shouldFail() | dc2a.shouldFail() | tc2a.shouldFail() | dc2s.shouldFail() | tc2s.shouldFail() - | mtc.shouldFail() - | j.shouldFail()) + | mtc.shouldFail()) yieldObj = {'target': yObj} if self.__createPresets: @@ -172,30 +165,27 @@ class MediaCombinator6(MediaCombinator): f"A:{tc2a_p.getVariant()}", f"S:{dc2s_p.getVariant()}", f"S:{tc2s_p.getVariant()}", - mtc_p.getVariant(), - j.getVariant()] + mtc_p.getVariant()] yObj_p['payload'] = self.getPayload(dc2a_p.getPayload(), tc2a_p.getPayload(), dc2s_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, dc2a_p.createAssertFunc(), tc2a_p.createAssertFunc(), dc2s_p.createAssertFunc(), tc2s_p.createAssertFunc(), - mtc_p.createAssertFunc(), - j.assertFunc] + mtc_p.createAssertFunc()] yObj_p['shouldFail'] = (self.shouldFail() | dc2a_p.shouldFail() | tc2a_p.shouldFail() | dc2s_p.shouldFail() | tc2s_p.shouldFail() - | mtc_p.shouldFail() - | j.shouldFail()) + | mtc_p.shouldFail()) yieldObj['preset'] = yObj_p yield yieldObj diff --git a/bin/ffx/test/media_combinator_7.py b/bin/ffx/test/media_combinator_7.py index a910bda..4fbda74 100644 --- a/bin/ffx/test/media_combinator_7.py +++ b/bin/ffx/test/media_combinator_7.py @@ -160,8 +160,8 @@ class MediaCombinator7(MediaCombinator): yObj['assertSelectors'] = ['M', 'AP', 'SP', 'AD', 'AT', 'SD', 'ST', 'MT'] yObj['assertFuncs'] = [self.assertFunc, - p2y.createAssertFunc(), - p3y.createAssertFunc(), + p2y['assertFunc'], + p3y['assertFunc'], dc2a.createAssertFunc(), tc2a.createAssertFunc(), dc3s.createAssertFunc(), @@ -169,8 +169,8 @@ class MediaCombinator7(MediaCombinator): mtc.createAssertFunc()] yObj['shouldFail'] = (self.shouldFail() - | p2y.shouldFail() - | p3y.shouldFail() + | p2y['shouldFail'] + | p3y['shouldFail'] | dc2a.shouldFail() | tc2a.shouldFail() | dc3s.shouldFail() @@ -191,35 +191,40 @@ class MediaCombinator7(MediaCombinator): yObj_p['identifier'] = self.getIdentifier() yObj_p['variants'] = [self.getVariant(), + f"A:{p2y['variant']}", + f"S:{p3y['variant']}", f"A:{dc2a_p.getVariant()}", f"A:{tc2a_p.getVariant()}", f"S:{dc3s_p.getVariant()}", f"S:{tc3s_p.getVariant()}", - mtc_p.getVariant(), - j.getVariant()] + mtc_p.getVariant()] - yObj_p['payload'] = self.getPayload(dc2a_p.getPayload(), + yObj_p['payload'] = self.getPayload(p2y['permutation'], + p3y['permutation'], + dc2a_p.getPayload(), tc2a_p.getPayload(), dc3s_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, + p2y['assertFunc'], + p3y['assertFunc'], dc2a_p.createAssertFunc(), tc2a_p.createAssertFunc(), dc3s_p.createAssertFunc(), tc3s_p.createAssertFunc(), - mtc_p.createAssertFunc(), - j.assertFunc] + mtc_p.createAssertFunc()] yObj_p['shouldFail'] = (self.shouldFail() + | p2y['shouldFail'] + | p3y['shouldFail'] | dc2a_p.shouldFail() | tc2a_p.shouldFail() | dc3s_p.shouldFail() | tc3s_p.shouldFail() - | mtc_p.shouldFail() - | j.shouldFail()) + | mtc_p.shouldFail()) yieldObj['preset'] = yObj_p yield yieldObj diff --git a/bin/ffx/test/permutation_combinator_2.py b/bin/ffx/test/permutation_combinator_2.py index c8b57ca..acaf49e 100644 --- a/bin/ffx/test/permutation_combinator_2.py +++ b/bin/ffx/test/permutation_combinator_2.py @@ -20,7 +20,9 @@ class PermutationCombinator2(): def getPayload(self, permutationIndex): return { 'variant': f"P{permutationIndex}", - 'permutation': PermutationCombinator2.PERMUTATION_LIST[permutationIndex] + 'permutation': PermutationCombinator2.PERMUTATION_LIST[permutationIndex], + 'assertFunc': self.createAssertFunc(), + 'shouldFail': self.shouldFail() } def createAssertFunc(self): diff --git a/bin/ffx/test/permutation_combinator_3.py b/bin/ffx/test/permutation_combinator_3.py index 2f74f1e..358f94f 100644 --- a/bin/ffx/test/permutation_combinator_3.py +++ b/bin/ffx/test/permutation_combinator_3.py @@ -21,7 +21,9 @@ class PermutationCombinator3(): def getPayload(self, permutationIndex): return { 'variant': f"P{permutationIndex}", - 'permutation': PermutationCombinator3.PERMUTATION_LIST[permutationIndex] + 'permutation': PermutationCombinator3.PERMUTATION_LIST[permutationIndex], + 'assertFunc': self.createAssertFunc(), + 'shouldFail': self.shouldFail() } def createAssertFunc(self): diff --git a/bin/ffx/test/scenario.py b/bin/ffx/test/scenario.py index 965e463..4a924c6 100644 --- a/bin/ffx/test/scenario.py +++ b/bin/ffx/test/scenario.py @@ -10,7 +10,7 @@ from ffx.database import databaseContext class Scenario(): """Scenarios - Scenario1: Jellyfin, MediaTags, Stream-Kombinationen, Dispositions und StreamTags per Kombinatoren + Scenario1: MediaTags, Stream-Kombinationen, Dispositions und StreamTags per Kombinatoren Scenario2: mit 3 Files x Scenario1 @@ -25,8 +25,7 @@ class Scenario(): tmdb lookup: Set Showname as prefix, append episode name pattern lookup: Set/update tags/dispositions; Filter/Reorder Tracks - jellyfin reordering: default track last (2) - + MediaTag-Kombinationen (2) 0: nichs diff --git a/bin/ffx/test/scenario_1.py b/bin/ffx/test/scenario_1.py index fd2f7c5..a313e2f 100644 --- a/bin/ffx/test/scenario_1.py +++ b/bin/ffx/test/scenario_1.py @@ -29,7 +29,6 @@ class Scenario1(Scenario): def __init__(self, context): - context['use_jellyfin'] = True context['use_tmdb'] = 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']): 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']): return diff --git a/bin/ffx/test/scenario_2.py b/bin/ffx/test/scenario_2.py index 809a193..08858a1 100644 --- a/bin/ffx/test/scenario_2.py +++ b/bin/ffx/test/scenario_2.py @@ -27,7 +27,6 @@ class Scenario2(Scenario): def __init__(self, context): - context['use_jellyfin'] = True context['use_tmdb'] = False context['use_pattern'] = False @@ -56,18 +55,11 @@ class Scenario2(Scenario): assertFuncList = targetYieldObj['assertFuncs'] 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']): 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']): return @@ -130,10 +122,6 @@ class Scenario2(Scenario): resultFileProperties = FileProperties(testContext, resultFile) resultMediaDescriptor = resultFileProperties.getMediaDescriptor() - # if testContext['use_jellyfin']: - # sourceMediaDescriptor.applyJellyfinOrder() - # resultMediaDescriptor.applySourceIndices(sourceMediaDescriptor) - resultMediaTracks = resultMediaDescriptor.getAllTrackDescriptors() for assertIndex in range(len(assertSelectorList)): diff --git a/bin/ffx/test/scenario_4.py b/bin/ffx/test/scenario_4.py index 3fbb234..12f318d 100644 --- a/bin/ffx/test/scenario_4.py +++ b/bin/ffx/test/scenario_4.py @@ -110,18 +110,11 @@ class Scenario4(Scenario): assertFuncList = presetYieldObj['assertFuncs'] 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']): 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']): return @@ -232,9 +225,6 @@ class Scenario4(Scenario): for l in rmd.getConfiguration(label = 'resultMediaDescriptor'): self._logger.debug(l) - # if testContext['use_jellyfin']: - # sourceMediaDescriptor.applyJellyfinOrder() - # num tracks differ rmd.applySourceIndices(sourceMediaDescriptor)