def import_filter_from_path()

in sapp/ui/filters.py [0:0]


def import_filter_from_path(database: DB, input_filter_path: Path) -> None:
    filter_paths = (
        list(input_filter_path.glob("**/*.json"))
        if input_filter_path.is_dir()
        else [input_filter_path]
    )

    imported_filterrecords = []
    for path in filter_paths:
        filter_instance = StoredFilter.from_file(path)
        imported_filterrecords.append(
            FilterRecord(
                name=filter_instance.name,
                description=filter_instance.description,
                json=filter_instance.to_json(),
            )
        )

    # TODO(T89343050)
    models.create(database)
    with database.make_session() as session:
        with session.begin_nested():
            for record in imported_filterrecords:
                session.merge(record)
                LOG.info(f"`{record.name}` filter has been imported")
        try:
            session.commit()
        except sqlalchemy.exc.DatabaseError:
            LOG.error(
                "Error: Database disk image is malformed. Please recreate your SAPP db"
            )
            raise