Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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']
Exemplo n.º 3
0
    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