def run_checks(self): for source in self.dcp._list_am: checks = self.find_check('am') [ self.run_check(check, source, message=source['FileName']) for check in checks ] asset_checks = self.find_check('assets_am') [ self.run_check(check, source, asset, message="{} (Asset {})".format( source['FileName'], asset[2]['ChunkList']['Chunk']['Path'])) for asset in list_am_assets(source) for check in asset_checks ] return self.check_executions
def init_assetmap(self): """ Find DCP AssetMap and build Asset List. """ self._list_am_path = self.filter_files(['ASSETMAP', 'ASSETMAP.xml']) self._list_am = [assetmap_parse(f) for f in self._list_am_path] self._list_am = [am for am in self._list_am if am is not None] # In the improbable case of multiple Assetmap found in the folder, # flatten asset list. self._list_asset = [{ uuid: path for a in self._list_am for uuid, path, _ in list_am_assets(a) }] self._list_asset = { k: v for _list_asset in self._list_asset for k, v in six.iteritems(_list_asset) } # Schema (IOP or SMPTE) is assumed to be the one found for the Assetmap if self._list_am: self.schema = self._list_am[0]['Info']['AssetMap']['Schema']
def run_checks(self): for source in self.dcp._list_am: asset_stack = [source['FileName']] checks = self.find_check('am') [ self.run_check(check, source, stack=asset_stack) for check in checks ] asset_checks = self.find_check('assets_am') [ self.run_check(check, source, asset, stack=asset_stack + [asset[2]['ChunkList']['Chunk']['Path']]) for asset in list_am_assets(source) for check in asset_checks ] return self.checks