예제 #1
0
def prepare_overlay_test(values, data, config=None):
    if config is None:
        config = {}

    values = {
        "images": {
            "testbild": {
                "type": "pillow",
                "path": "Test_Bild_1.png",
                "overlay": [values]
            }
        },
        "presets": {
            "test_preset": {
                "color": "black",
                "font_size": 20,
                "font": "Test_Font.ttf"
            },
        }
    }

    step_data = StepData(config, "0", 0, values.get("presets", None))
    step_data.insert_data("_req", {"_test": data}, {})
    step_data.data["_pipe_id"] = "100"
    generate_all_images(values, step_data)

    return values["images"]["testbild"]
예제 #2
0
def prepare_test(values: list, data, expected_data: dict, config=None):
    if config is None:
        config = {}

    step_data = StepData(config, "0", 0)
    step_data.insert_data("_req", data, {})
    transform({"transform": values}, step_data)

    # removed Temporary set data
    step_data.data.pop("_conf")
    step_data.data.pop("_pipe_id")
    step_data.data.pop("_job_id")

    return step_data.data, expected_data
    def start(self):
        """Führt alle Schritte aus, die in der übergebenen Instanz der Klasse :class:`Steps` definiert sind.

        Initialisiert zuerst einen Pipeline-Ordner mit der Pipeline-ID. Dieser kann dann in der gesamten Pipeline zur
        Zwichenspeicherung von Dateien verwendet werden. Dieser wird nach Beendigung oder bei einem Fehlerfall wieder gelöscht.

        Führt alle Schritte aus der übergebenen Steps Instanz, die in der Funktion :func:`sequence` definiert sind,
        der Reihenfolge nach aus. Mit der Ausnahme von allen Steps mit der id < 0 und >= `step_max`.

        :return: Wenn ohne Fehler ausgeführt `True`, sonst `False`
        :rtype: bool
        """
        try:
            self.__setup()
            data = StepData(self.steps_config, self.id, self.__job_id,
                            self.__config.get("presets", None))

            logger.info(f"{self.__log_name}  {self.id} started!")

            for self.__current_step in range(0, self.__steps_max):
                logger.info(f"Next step: {self.current_step_name()}")

                # Execute Step
                self.__steps[self.__current_step].get("call", lambda: None)(
                    self.__config, data)

                logger.info(f"Step finished: {self.current_step_name()}!")

            self.__on_completion(self.__config, data)
            self.__cleanup()

            return True
        except (KeyboardInterrupt, SystemExit) as e:
            self.__error_cleanup(e)
            raise
        except Exception as e:
            self.__error_cleanup(e)

            if self.__attach_mode:
                raise

            return False
예제 #4
0
def prepare_image_test(values, data, config=None):
    if config is None:
        config = {}

    values = {
        "images": values,
        "presets": {
            "test_preset": {
                "color": "black",
                "font_size": 20,
                "font": "Test_Font.ttf"
            }
        }
    }

    step_data = StepData(config, "1", 0, values.get("presets", None))
    step_data.insert_data("_req", {"_test": data}, {})
    step_data.data["_pipe_id"] = "102"
    generate_all_images(values, step_data)

    return values["images"]
예제 #5
0
def prepare_wordcloud_test(values, data, config=None):
    if config is None:
        config = {}

    step_data = StepData(config, "0", 0)
    step_data.insert_data("_req", {"_test": data}, {})
    values = {
        "images": {
            "testbild": {
                "type": "wordcloud",
                "text": "Canada, Argentina, Cyprus, Schweden, Norway, USA, Germany, United Kingdom, Argentina, Norway, USA, Argentina",
                "use_stopwords": False,
                "stopwords": ["Cyprus"],
                "color_func_words": "145 46 5 35",
                "parameter": {
                    "font_path": "Test_Font.ttf",
                    "figure": "square",
                    "width": 1000,
                    "height": 1000,
                    "collocations": False,
                    "max_font_size": 400,
                    "max_words": 2000,
                    "contour_width": 3,
                    "contour_color": "white",
                    "color_func": True,
                    "colormap": "viridis"
                }
            }
        }
    }

    step_data.data["_pipe_id"] = "213"

    generate_all_images(values, step_data)

    return values["images"]["testbild"]