Source code for notifiers.utils.schema.helpers

[docs]def one_or_more( schema: dict, unique_items: bool = True, min: int = 1, max: int = None ) -> dict: """ Helper function to construct a schema that validates items matching `schema` or an array containing items matching `schema`. :param schema: The schema to use :param unique_items: Flag if array items should be unique :param min: Correlates to ``minLength`` attribute of JSON Schema array :param max: Correlates to ``maxLength`` attribute of JSON Schema array """ multi_schema = { "type": "array", "items": schema, "minItems": min, "uniqueItems": unique_items, } if max: multi_schema["maxItems"] = max return {"oneOf": [multi_schema, schema]}
[docs]def list_to_commas(list_of_args) -> str: """ Converts a list of items to a comma separated list. If ``list_of_args`` is not a list, just return it back :param list_of_args: List of items :return: A string representing a comma separated list. """ if isinstance(list_of_args, list): return ",".join(list_of_args) return list_of_args
# todo change or create a new util that handle conversion to list as well