nightl matrix tests hMWE
parent
79f088a86a
commit
324084c845
@ -1,24 +0,0 @@
|
|||||||
import os, sys, importlib, glob, inspect
|
|
||||||
|
|
||||||
class Disposition():
|
|
||||||
|
|
||||||
def __init__(self, context = None):
|
|
||||||
self._context = context
|
|
||||||
self._logger = context['logger']
|
|
||||||
self._reportLogger = context['report_logger']
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def list():
|
|
||||||
basePath = os.path.dirname(__file__)
|
|
||||||
return [os.path.basename(p)[9:-3]
|
|
||||||
for p
|
|
||||||
in glob.glob(f"{ basePath }/disposition_*.py", recursive = True)
|
|
||||||
if p != __file__]
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def getClassReference(identifier):
|
|
||||||
importlib.import_module(f"ffx.test.disposition_{ identifier }")
|
|
||||||
for name, obj in inspect.getmembers(sys.modules[f"ffx.test.disposition_{ identifier }"]):
|
|
||||||
#HINT: Excluding Disposition as it seems to be included by import (?)
|
|
||||||
if inspect.isclass(obj) and name != 'Disposition' and name.startswith('Disposition'):
|
|
||||||
return obj
|
|
@ -0,0 +1,24 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
class DispositionCombination2():
|
||||||
|
|
||||||
|
def __init__(self, context = None):
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def list():
|
||||||
|
basePath = os.path.dirname(__file__)
|
||||||
|
return [os.path.basename(p)[26:-3]
|
||||||
|
for p
|
||||||
|
in glob.glob(f"{ basePath }/disposition_combination_2_*.py", recursive = True)
|
||||||
|
if p != __file__]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def getClassReference(identifier):
|
||||||
|
importlib.import_module(f"ffx.test.disposition_combination_2_{ identifier }")
|
||||||
|
for name, obj in inspect.getmembers(sys.modules[f"ffx.test.disposition_combination_2_{ identifier }"]):
|
||||||
|
#HINT: Excluding DispositionCombination as it seems to be included by import (?)
|
||||||
|
if inspect.isclass(obj) and name != 'DispositionCombination2' and name.startswith('DispositionCombination2'):
|
||||||
|
return obj
|
@ -0,0 +1,21 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_2 import DispositionCombination2
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination20(DispositionCombination2):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set(), # 0
|
||||||
|
set()) # 1
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,25 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_2 import DispositionCombination2
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination21(DispositionCombination2):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set([TrackDisposition.DEFAULT]), # 0
|
||||||
|
set()) # 1
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
if self._context['use_jellyfin']:
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has not set default disposition"
|
||||||
|
else:
|
||||||
|
assert trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has not set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,21 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_2 import DispositionCombination2
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination22(DispositionCombination2):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set(), # 0
|
||||||
|
set([TrackDisposition.DEFAULT])) # 1
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
assert trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has not set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,20 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_2 import DispositionCombination2
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination23(DispositionCombination2):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set([TrackDisposition.DEFAULT]), # 0
|
||||||
|
set([TrackDisposition.DEFAULT])) # 1
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return True
|
@ -0,0 +1,24 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
class DispositionCombination3():
|
||||||
|
|
||||||
|
def __init__(self, context = None):
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def list():
|
||||||
|
basePath = os.path.dirname(__file__)
|
||||||
|
return [os.path.basename(p)[26:-3]
|
||||||
|
for p
|
||||||
|
in glob.glob(f"{ basePath }/disposition_combination_3_*.py", recursive = True)
|
||||||
|
if p != __file__]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def getClassReference(identifier):
|
||||||
|
importlib.import_module(f"ffx.test.disposition_combination_3_{ identifier }")
|
||||||
|
for name, obj in inspect.getmembers(sys.modules[f"ffx.test.disposition_combination_3_{ identifier }"]):
|
||||||
|
#HINT: Excluding DispositionCombination as it seems to be included by import (?)
|
||||||
|
if inspect.isclass(obj) and name != 'DispositionCombination3' and name.startswith('DispositionCombination3'):
|
||||||
|
return obj
|
@ -0,0 +1,23 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_3 import DispositionCombination3
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination30(DispositionCombination3):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set(), # 0
|
||||||
|
set(), # 1
|
||||||
|
set()) # 2
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
assert not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #2 has set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,28 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_3 import DispositionCombination3
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination31(DispositionCombination3):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set([TrackDisposition.DEFAULT]), # 0
|
||||||
|
set(), # 1
|
||||||
|
set()) # 2
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
if self._context['use_jellyfin']:
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
assert trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #2 has not set default disposition"
|
||||||
|
else:
|
||||||
|
assert trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has not set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
assert not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #2 has set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,28 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_3 import DispositionCombination3
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination32(DispositionCombination3):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set(), # 0
|
||||||
|
set([TrackDisposition.DEFAULT]), # 1
|
||||||
|
set()) # 2
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
if self._context['use_jellyfin']:
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
assert trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #2 has not set default disposition"
|
||||||
|
else:
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has not set default disposition"
|
||||||
|
assert not trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #2 has set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,24 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_3 import DispositionCombination3
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination33(DispositionCombination3):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set(), # 0
|
||||||
|
set(), # 1
|
||||||
|
set([TrackDisposition.DEFAULT])) # 2
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
if self._context['use_jellyfin']:
|
||||||
|
assert not trackDescriptors[0].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #0 has set default disposition"
|
||||||
|
assert not trackDescriptors[1].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #1 has set default disposition"
|
||||||
|
assert trackDescriptors[2].getDispositionFlag(TrackDisposition.DEFAULT), f"Stream #2 has not set default disposition"
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return False
|
@ -0,0 +1,21 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from .disposition_combination_3 import DispositionCombination3
|
||||||
|
|
||||||
|
|
||||||
|
class DispositionCombination34(DispositionCombination3):
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
|
||||||
|
def getDispositionTuple(self):
|
||||||
|
return (set([TrackDisposition.DEFAULT]), # 0
|
||||||
|
set(), # 1
|
||||||
|
set([TrackDisposition.DEFAULT])) # 2
|
||||||
|
|
||||||
|
def evaluateTrackDescriptors(self, trackDescriptors):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def shouldFail(self):
|
||||||
|
return True
|
@ -0,0 +1,27 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
class TrackCombination():
|
||||||
|
|
||||||
|
def __init__(self, context = None):
|
||||||
|
self._context = context
|
||||||
|
self._logger = context['logger']
|
||||||
|
self._reportLogger = context['report_logger']
|
||||||
|
|
||||||
|
def getIdentifier(self):
|
||||||
|
return self._combinationIdentifier
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def list():
|
||||||
|
basePath = os.path.dirname(__file__)
|
||||||
|
return [os.path.basename(p)[18:-3]
|
||||||
|
for p
|
||||||
|
in glob.glob(f"{ basePath }/track_combination_*.py", recursive = True)
|
||||||
|
if p != __file__]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def getClassReference(identifier):
|
||||||
|
importlib.import_module(f"ffx.test.track_combination_{ identifier }")
|
||||||
|
for name, obj in inspect.getmembers(sys.modules[f"ffx.test.track_combination_{ identifier }"]):
|
||||||
|
#HINT: Excluding DispositionCombination as it seems to be included by import (?)
|
||||||
|
if inspect.isclass(obj) and name != 'TrackCombination' and name.startswith('TrackCombination'):
|
||||||
|
return obj
|
@ -0,0 +1,36 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination0(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VA'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination0.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
return [trackDescriptor0,
|
||||||
|
trackDescriptor1]
|
||||||
|
|
||||||
|
def getSubcombinations(self):
|
||||||
|
return
|
@ -0,0 +1,42 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination1(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VAS'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination1.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
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 getSubcombinations(self):
|
||||||
|
return
|
@ -0,0 +1,48 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination1(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VASS'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination1.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
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 getSubcombinations(self):
|
||||||
|
return
|
@ -0,0 +1,64 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
from .disposition_combination_3 import DispositionCombination3
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination3(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VASSS'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination3.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackDescriptors(self, dispositionTuple):
|
||||||
|
|
||||||
|
self._logger.debug(f"getTrackDescriptors(): dispositionTuple={dispositionTuple}")
|
||||||
|
|
||||||
|
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] = dispositionTuple[0]
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = dispositionTuple[1]
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = dispositionTuple[2]
|
||||||
|
trackDescriptor4 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
return [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3,
|
||||||
|
trackDescriptor4]
|
||||||
|
|
||||||
|
def getSubcombinations(self):
|
||||||
|
for dci in DispositionCombination3.list():
|
||||||
|
dispositionCombination = DispositionCombination3.getClassReference(dci)(self._context)
|
||||||
|
dispositionTuple = dispositionCombination.getDispositionTuple() # tuple of set of dispositions
|
||||||
|
trackDescriptors = self.getTrackDescriptors(dispositionTuple)
|
||||||
|
evaluateFunc = dispositionCombination.evaluateTrackDescriptors # assert function
|
||||||
|
shouldFail = dispositionCombination.shouldFail() # true if this combination should fail
|
||||||
|
yield (trackDescriptors, evaluateFunc, shouldFail)
|
@ -0,0 +1,42 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination4(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VAA'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination4.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
return [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2]
|
||||||
|
|
||||||
|
def getSubcombinations(self):
|
||||||
|
return
|
@ -0,0 +1,48 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination5(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VAAS'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination5.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
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 getSubcombinations(self):
|
||||||
|
return
|
@ -0,0 +1,54 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination6(TrackCombination):
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VAASS'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination6.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor4 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
return [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3,
|
||||||
|
trackDescriptor4]
|
||||||
|
|
||||||
|
def getSubcombinations(self):
|
||||||
|
return
|
@ -0,0 +1,62 @@
|
|||||||
|
import os, sys, importlib, glob, inspect
|
||||||
|
|
||||||
|
from ffx.track_descriptor import TrackDescriptor
|
||||||
|
from ffx.track_disposition import TrackDisposition
|
||||||
|
from ffx.track_type import TrackType
|
||||||
|
|
||||||
|
from .track_combination import TrackCombination
|
||||||
|
|
||||||
|
|
||||||
|
class TrackCombination7(TrackCombination):
|
||||||
|
"""VAASSS"""
|
||||||
|
|
||||||
|
COMBINATION_IDENTIFIER = 'VAASSS'
|
||||||
|
|
||||||
|
def __init__(self, context):
|
||||||
|
super().__init__(context)
|
||||||
|
self._combinationIdentifier = TrackCombination7.COMBINATION_IDENTIFIER
|
||||||
|
|
||||||
|
def getTrackVector(self):
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.VIDEO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor0 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor1 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.AUDIO
|
||||||
|
# kwargs[TrackDescriptor.DISPOSITION_SET_KEY] = set([TrackDisposition.DEFAULT])
|
||||||
|
trackDescriptor2 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor3 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor4 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
kwargs[TrackDescriptor.CONTEXT_KEY] = self._context
|
||||||
|
kwargs[TrackDescriptor.TRACK_TYPE_KEY] = TrackType.SUBTITLE
|
||||||
|
trackDescriptor5 = TrackDescriptor(**kwargs)
|
||||||
|
|
||||||
|
return [trackDescriptor0,
|
||||||
|
trackDescriptor1,
|
||||||
|
trackDescriptor2,
|
||||||
|
trackDescriptor3,
|
||||||
|
trackDescriptor4,
|
||||||
|
trackDescriptor5]
|
||||||
|
|
||||||
|
def getSubcombinations(self):
|
||||||
|
return
|
Loading…
Reference in New Issue