Esempio n. 1
0
    def testRunConfiguration(self):
        """
        Test execution of the configuration.
        """
        loader = Loader()
        loader.loadFromDirectory(self.__exampleDirectory)

        self.assertEqual(len(loader.taskHolders()), 1)

        taskHolder = loader.taskHolders()[0]

        taskHolder.addVar(
            "prefix",
            self.__exampleTargetPrefixDirectory,
            True
        )

        # loading input data for the execution
        crawlerGroups = Crawler.group(
            FsCrawler.createFromPath(
                os.path.join(self.__exampleDirectory, 'imageSequence')
            ).globFromParent()
        )

        resultCrawlers = []
        for group in crawlerGroups:
            if isinstance(group[0], Crawler.registeredType('png')):
                resultCrawlers += taskHolder.run(group)

        targetFilePaths = list(sorted(filter(lambda x: len(x), map(lambda x: x.strip(), self.__generatedData.split('\n')))))
        createdFilePaths = list(sorted(map(lambda x: x.var('fullPath')[len(self.__exampleTargetPrefixDirectory) + 1:].replace('\\', '/'), resultCrawlers)))

        self.assertListEqual(targetFilePaths, createdFilePaths)
Esempio n. 2
0
    def test02Delivery(self):
        """
        Test the delivery configuration.
        """
        loader = Loader()
        loader.loadFromDirectory(self.__exampleDirectory)

        taskHolder = list(
            filter(
                lambda x: os.path.basename(x.var('contextConfig')) ==
                'deliveryConfig.json', loader.taskHolders()))
        self.assertEqual(len(taskHolder), 1)
        taskHolder = taskHolder[0]

        taskHolder.addVar("prefix", self.__exampleDeliveryPrefixDirectory,
                          True)

        # loading input data for the ingestion
        crawlerGroups = Crawler.group(
            FsCrawler.createFromPath(
                os.path.normpath(
                    os.path.join(
                        self.__exampleIngestionPrefixDirectory,
                        'jobs/foo/seq/abc/shot/def/plates/bla/v001/1920x1080_exr'
                    ))).glob())

        resultCrawlers = []
        for group in crawlerGroups:
            if isinstance(group[0], Crawler.registeredType('plateExr')):
                resultCrawlers += taskHolder.run(group)

        targetFilePaths = list(
            sorted(
                filter(
                    lambda x: len(x),
                    map(
                        lambda x: x.strip(),
                        self.__deliveryGeneratedData.replace(
                            '<date>',
                            datetime.today().strftime('%Y%m%d')).split(
                                '\n')))))
        createdFilePaths = list(
            sorted(
                map(
                    lambda x: x.var('fullPath')[len(
                        self.__exampleDeliveryPrefixDirectory) + 1:].replace(
                            '\\', '/'), resultCrawlers)))

        self.assertListEqual(targetFilePaths, createdFilePaths)
Esempio n. 3
0
    def test01Ingestion(self):
        """
        Test the ingestion configuration.
        """
        loader = Loader()
        loader.loadFromDirectory(self.__exampleDirectory)

        taskHolder = list(
            filter(
                lambda x: os.path.basename(x.var('contextConfig')) ==
                'ingestConfig.yaml', loader.taskHolders()))
        self.assertEqual(len(taskHolder), 1)
        taskHolder = taskHolder[0]

        taskHolder.addVar("prefix", self.__exampleIngestionPrefixDirectory,
                          True)

        # loading input data for the ingestion
        crawlerGroups = Crawler.group(
            FsCrawler.createFromPath(
                os.path.join(self.__exampleDirectory,
                             'plates')).globFromParent())

        resultCrawlers = []
        for group in crawlerGroups:
            if isinstance(group[0], Crawler.registeredType('png')):
                resultCrawlers += taskHolder.run(group)

        targetFilePaths = list(
            sorted(
                filter(
                    lambda x: len(x),
                    map(lambda x: x.strip(),
                        self.__ingestedGeneratedData.split('\n')))))
        createdFilePaths = list(
            sorted(
                map(
                    lambda x: x.var('fullPath')[len(
                        self.__exampleIngestionPrefixDirectory) + 1:].replace(
                            '\\', '/'), resultCrawlers)))

        self.assertListEqual(targetFilePaths, createdFilePaths)