class ReleaseCombinator(): IDENTIFIER = 'release' RELEASE_LIST = [ ".GerEngSub.AAC.1080pINDICATOR.WebDL.x264-Tanuki", ".German.AC3.DL.1080pINDICATOR.BluRay.x264-AST4u", "-720pINDICATOR" ] def __init__(self, context = None, indicator = ''): self._context = context self._logger = context['logger'] self._reportLogger = context['report_logger'] self.__indicator = indicator def getIdentifier(self): return ReleaseCombinator.IDENTIFIER def getPayload(self, releaseIndex): releaseStr: str = ReleaseCombinator.RELEASE_LIST[releaseIndex] return { 'variant': f"R{releaseIndex}", 'release': releaseStr.replace('INDICATOR', f".{self.__indicator}") if self.__indicator else releaseStr.replace('INDICATOR', '') } def assertFunc(self, testObj = {}): pass def shouldFail(self): return False def getYield(self): for releaseIndex in range(len(ReleaseCombinator.RELEASE_LIST)): yield self.getPayload(releaseIndex)