rework combinators
parent
95d858b2c6
commit
22f4b00e76
@ -0,0 +1,65 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
|
||||||
|
class MediaCombinator0(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VA'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinators
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator0.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator0.VARIANT
|
||||||
|
|
||||||
|
|
||||||
|
def getPayload(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor1,
|
||||||
|
trackDescriptor2]
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator0.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator0.VARIANT]
|
||||||
|
yieldObj['payload'] = self.getPayload()
|
||||||
|
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,71 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
class MediaCombinator1(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VAS'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinations
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator1.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator1.VARIANT
|
||||||
|
|
||||||
|
def getPayload(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator1.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator1.VARIANT]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload()
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,85 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
from .disposition_combinator_2 import DispositionCombinator2
|
||||||
|
|
||||||
|
class MediaCombinator2(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VASS'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinators
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator2.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator2.VARIANT
|
||||||
|
|
||||||
|
def getPayload(self, subtitleDispositionTuple = (set(), set())):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
for DC2 in DispositionCombinator2.getAllClassReferences():
|
||||||
|
|
||||||
|
dc2 = DC2(self._context)
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator2.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator2.VARIANT, f"S:{dc2.getVariant()}"]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload(dc2.getPayload())
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc, dc2.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail() | dc2.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,95 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
from .disposition_combinator_3 import DispositionCombinator3
|
||||||
|
|
||||||
|
|
||||||
|
class MediaCombinator3(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VASSS'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinations
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator3.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator3.VARIANT
|
||||||
|
|
||||||
|
|
||||||
|
def getPayload(self, subtitleDispositionTuple = (set(), set(), set())):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[2]
|
||||||
|
trackDescriptor4 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3,
|
||||||
|
trackDescriptor4]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
for DC3 in DispositionCombinator3.getAllClassReferences():
|
||||||
|
|
||||||
|
dc3 = DC3(self._context)
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator3.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator3.VARIANT, f"S:{dc3.getVariant()}"]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload(dc3.getPayload())
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc, dc3.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail() | dc3.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,81 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
from .disposition_combinator_2 import DispositionCombinator2
|
||||||
|
|
||||||
|
|
||||||
|
class MediaCombinator4(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VAA'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinations
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator4.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator4.VARIANT
|
||||||
|
|
||||||
|
def getPayload(self, audioDispositionTuple = (set(), set())):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
for DC2 in DispositionCombinator2.getAllClassReferences():
|
||||||
|
|
||||||
|
dc2 = DC2(self._context)
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator4.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator4.VARIANT, f"A:{dc2.getVariant()}"]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload(dc2.getPayload())
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc, dc2.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail() | dc2.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,88 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
from .disposition_combinator_2 import DispositionCombinator2
|
||||||
|
|
||||||
|
|
||||||
|
class MediaCombinator5(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VAAS'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinations
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator5.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator5.VARIANT
|
||||||
|
|
||||||
|
def getPayload(self, audioDispositionTuple = (set(), set())):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
for DC2 in DispositionCombinator2.getAllClassReferences():
|
||||||
|
|
||||||
|
dc2 = DC2(self._context)
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator5.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator5.VARIANT, f"A:{dc2.getVariant()}"]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload(dc2.getPayload())
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc, dc2.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail() | dc2.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,97 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
from .disposition_combinator_2 import DispositionCombinator2
|
||||||
|
|
||||||
|
|
||||||
|
class MediaCombinator6(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VAASS'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinations
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator6.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator6.VARIANT
|
||||||
|
|
||||||
|
def getPayload(self, audioDispositionTuple = (set(), set()), subtitleDispositionTuple = (set(), set())):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
||||||
|
trackDescriptor4 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3,
|
||||||
|
trackDescriptor4]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
for DC2_A in DispositionCombinator2.getAllClassReferences():
|
||||||
|
for DC2_S in DispositionCombinator2.getAllClassReferences():
|
||||||
|
|
||||||
|
dc2a = DC2_A(self._context)
|
||||||
|
dc2s = DC2_S(self._context)
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator6.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator6.VARIANT, f"A:{dc2a.getVariant()}", f"S:{dc2s.getVariant()}"]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload(dc2a.getPayload(), dc2s.getPayload())
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc, dc2a.assertFunc, dc2s.assertFunc]
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail() | dc2a.shouldFail() | dc2s.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -0,0 +1,107 @@
|
|||||||
|
import os, sys, importlib, glob, inspect, itertools
|
||||||
|
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.media_descriptor import MediaDescriptor
|
||||||
|
|
||||||
|
from .media_combinator import MediaCombinator
|
||||||
|
|
||||||
|
from .disposition_combinator_2 import DispositionCombinator2
|
||||||
|
from .disposition_combinator_3 import DispositionCombinator3
|
||||||
|
|
||||||
|
|
||||||
|
class MediaCombinator7(MediaCombinator):
|
||||||
|
|
||||||
|
VARIANT = 'VAASSS'
|
||||||
|
|
||||||
|
# def __init__(self, SubCombinators: dict = {}, context = None):
|
||||||
|
def __init__(self, context = None):
|
||||||
|
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
# self._SubCombinators = SubCombinations
|
||||||
|
|
||||||
|
self._identifier = MediaCombinator7.IDENTIFIER
|
||||||
|
self._variant = MediaCombinator7.VARIANT
|
||||||
|
|
||||||
|
def getPayload(self, audioDispositionTuple = (set(), set()), subtitleDispositionTuple = (set(), set(), set())):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
||||||
|
trackDescriptor4 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[2]
|
||||||
|
trackDescriptor5 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[MediaDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] = [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3,
|
||||||
|
trackDescriptor4,
|
||||||
|
trackDescriptor5]
|
||||||
|
|
||||||
|
mediaDescriptor = MediaDescriptor(**kwargs)
|
||||||
|
mediaDescriptor.reindexSubIndices()
|
||||||
|
|
||||||
|
return mediaDescriptor
|
||||||
|
|
||||||
|
|
||||||
|
def assertFunc(self, testObj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getYield(self):
|
||||||
|
|
||||||
|
for DC2_A in DispositionCombinator2.getAllClassReferences():
|
||||||
|
for DC3_S in DispositionCombinator3.getAllClassReferences():
|
||||||
|
|
||||||
|
dc2a = DC2_A(self._context)
|
||||||
|
dc3s = DC3_S(self._context)
|
||||||
|
|
||||||
|
yieldObj = {}
|
||||||
|
|
||||||
|
yieldObj['identifier'] = MediaCombinator7.IDENTIFIER
|
||||||
|
yieldObj['variants'] = [MediaCombinator7.VARIANT, f"A:{dc2a.getVariant()}", f"S:{dc3s.getVariant()}"]
|
||||||
|
|
||||||
|
yieldObj['payload'] = self.getPayload(dc2a.getPayload(), dc3s.getPayload())
|
||||||
|
|
||||||
|
yieldObj['assertFuncs'] = [self.assertFunc, dc2a.assertFunc, dc3s.assertFunc]
|
||||||
|
|
||||||
|
yieldObj['shouldFail'] = self.shouldFail() | dc2a.shouldFail() | dc3s.shouldFail()
|
||||||
|
|
||||||
|
yield yieldObj
|
@ -1,87 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
|
|
||||||
class TrackCombinator0(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VA'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinators: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinators
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator0.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator0.VARIANT
|
|
||||||
|
|
||||||
|
|
||||||
def getPayload(self):
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1]
|
|
||||||
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo[self.getIdentifier()] = self.getPayload()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
# #assertFuncList = yo.pop('asserts', [])
|
|
||||||
# #variants = yo.pop('variants', set())
|
|
||||||
#
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
#
|
|
||||||
# #HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,91 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
class TrackCombinator1(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VAS'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinations: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinations
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator1.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator1.VARIANT
|
|
||||||
|
|
||||||
def getPayload(self):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2]
|
|
||||||
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo[self.getIdentifier()] = self.getPayload()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
# #assertFuncList = yo.pop('asserts', [])
|
|
||||||
# #variants = yo.pop('variants', set())
|
|
||||||
#
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
#
|
|
||||||
# #HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,115 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
from .disposition_combinator_2 import DispositionCombinator2
|
|
||||||
|
|
||||||
class TrackCombinator2(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VASS'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinators: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinators
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator2.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator2.VARIANT
|
|
||||||
|
|
||||||
def getPayload(self, subtitleDispositionTuple = (set(), set())):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
|
||||||
trackDescriptor3 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2,
|
|
||||||
trackDescriptor3]
|
|
||||||
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for DC in DispositionCombinator2.getAllClassReferences():
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
dc = DC(context = self._context)
|
|
||||||
yo[self.getIdentifier()] = self.getPayload(dc.getPayload())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
shouldFailFunc = getattr(dc, "shouldFail", None)
|
|
||||||
if callable(shouldFailFunc):
|
|
||||||
if shouldFailFunc():
|
|
||||||
yo['shouldFail'] = True
|
|
||||||
|
|
||||||
yo['variants'].add(dc.getVariant())
|
|
||||||
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
|
|
||||||
#HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,123 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
from .disposition_combinator_3 import DispositionCombinator3
|
|
||||||
|
|
||||||
|
|
||||||
class TrackCombinator3(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VASSS'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinations: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinations
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator3.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator3.VARIANT
|
|
||||||
|
|
||||||
|
|
||||||
def getPayload(self, subtitleDispositionTuple = (set(), set(), set())):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
|
||||||
trackDescriptor3 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[2]
|
|
||||||
trackDescriptor4 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2,
|
|
||||||
trackDescriptor3,
|
|
||||||
trackDescriptor4]
|
|
||||||
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
|
|
||||||
for DC in DispositionCombinator3.getAllClassReferences():
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
dc = DC(context = self._context)
|
|
||||||
yo[self.getIdentifier()] = self.getPayload(dc.getPayload())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
shouldFailFunc = getattr(dc, "shouldFail", None)
|
|
||||||
if callable(shouldFailFunc):
|
|
||||||
if shouldFailFunc():
|
|
||||||
yo['shouldFail'] = True
|
|
||||||
|
|
||||||
yo['variants'].add(dc.getVariant())
|
|
||||||
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
|
|
||||||
#HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,108 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
from .disposition_combinator_2 import DispositionCombinator2
|
|
||||||
|
|
||||||
|
|
||||||
class TrackCombinator4(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VAA'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinations: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinations
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator4.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator4.VARIANT
|
|
||||||
|
|
||||||
def getPayload(self, audioDispositionTuple = (set(), set())):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2]
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
|
|
||||||
for DC in DispositionCombinator2.getAllClassReferences():
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
dc = DC(context = self._context)
|
|
||||||
yo[self.getIdentifier()] = self.getPayload(dc.getPayload())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
shouldFailFunc = getattr(dc, "shouldFail", None)
|
|
||||||
if callable(shouldFailFunc):
|
|
||||||
if shouldFailFunc():
|
|
||||||
yo['shouldFail'] = True
|
|
||||||
|
|
||||||
yo['variants'].add(dc.getVariant())
|
|
||||||
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
|
|
||||||
#HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,114 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
from .disposition_combinator_2 import DispositionCombinator2
|
|
||||||
|
|
||||||
|
|
||||||
class TrackCombinator5(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VAAS'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinations: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinations
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator5.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator5.VARIANT
|
|
||||||
|
|
||||||
def getPayload(self, audioDispositionTuple = (set(), set())):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
trackDescriptor3 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2,
|
|
||||||
trackDescriptor3]
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
|
|
||||||
for DC in DispositionCombinator2.getAllClassReferences():
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
dc = DC(context = self._context)
|
|
||||||
yo[self.getIdentifier()] = self.getPayload(dc.getPayload())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
shouldFailFunc = getattr(dc, "shouldFail", None)
|
|
||||||
if callable(shouldFailFunc):
|
|
||||||
if shouldFailFunc():
|
|
||||||
yo['shouldFail'] = True
|
|
||||||
|
|
||||||
yo['variants'].add(dc.getVariant())
|
|
||||||
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
|
|
||||||
#HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,138 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
from .disposition_combinator_2 import DispositionCombinator2
|
|
||||||
|
|
||||||
|
|
||||||
class TrackCombinator6(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VAASS'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinations: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinations
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator6.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator6.VARIANT
|
|
||||||
|
|
||||||
def getPayload(self, audioDispositionTuple = (set(), set()), subtitleDispositionTuple = (set(), set())):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
|
||||||
trackDescriptor3 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
|
||||||
trackDescriptor4 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2,
|
|
||||||
trackDescriptor3,
|
|
||||||
trackDescriptor4]
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for DC_A in DispositionCombinator2.getAllClassReferences():
|
|
||||||
for DC_S in DispositionCombinator2.getAllClassReferences():
|
|
||||||
|
|
||||||
yo = yieldObj.copy()
|
|
||||||
|
|
||||||
yo['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
dc_a = DC_A(context = self._context)
|
|
||||||
dc_s = DC_S(context = self._context)
|
|
||||||
|
|
||||||
yo[self.getIdentifier()] = self.getPayload(dc_a.getPayload(), dc_s.getPayload())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc_a, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
shouldFailFunc = getattr(dc_a, "shouldFail", None)
|
|
||||||
if callable(shouldFailFunc):
|
|
||||||
if shouldFailFunc():
|
|
||||||
yo['shouldFail'] = True
|
|
||||||
|
|
||||||
yo['variants'].add(dc_a.getVariant())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc_s, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
shouldFailFunc = getattr(dc_s, "shouldFail", None)
|
|
||||||
if callable(shouldFailFunc):
|
|
||||||
if shouldFailFunc():
|
|
||||||
yo['shouldFail'] = True
|
|
||||||
|
|
||||||
yo['variants'].add(dc_s.getVariant())
|
|
||||||
|
|
||||||
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yieldObj[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yieldObj['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yieldObj['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yieldObj['variants'].add(v.getVariant())
|
|
||||||
|
|
||||||
#HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
@ -1,155 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect, itertools
|
|
||||||
|
|
||||||
from ffx.track_type import TrackType
|
|
||||||
from ffx.track_descriptor import TrackDescriptor
|
|
||||||
from .track_combinator import TrackCombinator
|
|
||||||
|
|
||||||
from .disposition_combinator_2 import DispositionCombinator2
|
|
||||||
from .disposition_combinator_3 import DispositionCombinator3
|
|
||||||
|
|
||||||
|
|
||||||
class TrackCombinator7(TrackCombinator):
|
|
||||||
|
|
||||||
IDENTIFIER = 'tracks'
|
|
||||||
VARIANT = 'VAASSS'
|
|
||||||
|
|
||||||
def __init__(self, SubCombinations: dict = {}, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
self._SubCombinators = SubCombinations
|
|
||||||
|
|
||||||
self._identifier = TrackCombinator7.IDENTIFIER
|
|
||||||
self._variant = TrackCombinator7.VARIANT
|
|
||||||
|
|
||||||
def getPayload(self, audioDispositionTuple = (set(), set()), subtitleDispositionTuple = (set(), set(), set())):
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
|
||||||
trackDescriptor0 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[0]
|
|
||||||
trackDescriptor1 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = audioDispositionTuple[1]
|
|
||||||
trackDescriptor2 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[0]
|
|
||||||
trackDescriptor3 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[1]
|
|
||||||
trackDescriptor4 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
kwargs = {}
|
|
||||||
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
|
||||||
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
|
||||||
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = subtitleDispositionTuple[2]
|
|
||||||
trackDescriptor5 = TrackDescriptor(**kwargs)
|
|
||||||
|
|
||||||
return [trackDescriptor0,
|
|
||||||
trackDescriptor1,
|
|
||||||
trackDescriptor2,
|
|
||||||
trackDescriptor3,
|
|
||||||
trackDescriptor4,
|
|
||||||
trackDescriptor5]
|
|
||||||
|
|
||||||
# def assertFunc(self, testObj):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
#1 yieldObj leer, kommt aus Schleife in Scenario1
|
|
||||||
def getYield(self, yieldObj: dict = {}):
|
|
||||||
|
|
||||||
if not 'asserts' in yieldObj.keys():
|
|
||||||
yieldObj['asserts'] = []
|
|
||||||
if not 'variants' in yieldObj.keys():
|
|
||||||
yieldObj['variants'] = set()
|
|
||||||
if not 'shouldFail' in yieldObj.keys():
|
|
||||||
yieldObj['shouldFail'] = False
|
|
||||||
|
|
||||||
yieldObj['variants'].add(self.getVariant())
|
|
||||||
|
|
||||||
|
|
||||||
for DC_A in DispositionCombinator2.getAllClassReferences():
|
|
||||||
for DC_S in DispositionCombinator3.getAllClassReferences():
|
|
||||||
|
|
||||||
yo = {}
|
|
||||||
yo['asserts'] = yieldObj['asserts']
|
|
||||||
yo['variants'] = yieldObj['variants']
|
|
||||||
yo['shouldFail'] = yieldObj['shouldFail']
|
|
||||||
|
|
||||||
self._logger.debug(f"Iterating DC_A={DC_A.__name__} DC_S={DC_S.__name__}")
|
|
||||||
self._logger.debug(f"><))))^> yieldObj id={id(yieldObj)}")
|
|
||||||
self._logger.debug(f"><))))^> yo id={id(yo)}")
|
|
||||||
|
|
||||||
dc_a = DC_A(context = self._context)
|
|
||||||
dc_s = DC_S(context = self._context)
|
|
||||||
|
|
||||||
|
|
||||||
yo[self.getIdentifier()] = self.getPayload(dc_a.getPayload(), dc_s.getPayload())
|
|
||||||
|
|
||||||
assertFunc = getattr(dc_a, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
# shouldFailFunc = getattr(dc_a, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
yo['variants'].add(f"{dc_a.getVariant()}A")
|
|
||||||
#
|
|
||||||
|
|
||||||
assertFunc = getattr(dc_s, "assertFunc", None)
|
|
||||||
if callable(assertFunc):
|
|
||||||
yo['asserts'].append(assertFunc)
|
|
||||||
|
|
||||||
# shouldFailFunc = getattr(dc_s, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
yo['variants'].add(f"{dc_s.getVariant()}S")
|
|
||||||
|
|
||||||
|
|
||||||
# sc_list = [(k,v) for k,v in self._SubCombinators.items()]
|
|
||||||
#
|
|
||||||
# #y = []
|
|
||||||
# for p in itertools.product(*[v.getYield() for k,v in sc_list]):
|
|
||||||
# z = {}
|
|
||||||
# for i in range(len(p)):
|
|
||||||
# z[sc_list[i][0]] = p[i]
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# #y.append(z)
|
|
||||||
# for k,v in z.items():
|
|
||||||
# yo[k] = v
|
|
||||||
#
|
|
||||||
# assertFunc = getattr(v, "assertFunc", None)
|
|
||||||
# if callable(assertFunc):
|
|
||||||
# yo['asserts'].append(assertFunc)
|
|
||||||
#
|
|
||||||
# shouldFailFunc = getattr(v, "shouldFail", None)
|
|
||||||
# if callable(shouldFailFunc):
|
|
||||||
# if shouldFailFunc():
|
|
||||||
# yo['shouldFail'] = True
|
|
||||||
#
|
|
||||||
# yo['variants'].add(v.getVariant())
|
|
||||||
|
|
||||||
#HINT: y should now contain a list of dicts with labels as keys and the SubCombinator classes as keys
|
|
||||||
|
|
||||||
yield yo
|
|
||||||
# yield yo | yieldObj
|
|
Loading…
Reference in New Issue