import logging from typing import Any from pydantic import ConfigDict from sqlmodel import Field, JSON, Column from gisaf.models.models_base import Model from gisaf.models.metadata import gisaf_map logger = logging.getLogger(__name__) class NotADataframeError(Exception): pass class Qml(Model): """ Model for storing qml (QGis style) """ model_config = ConfigDict(protected_namespaces=()) __table_args__ = gisaf_map.table_args class Admin: menu = 'Other' flask_admin_model_view = 'QmlModelView' model_name: str | None = Field(default=None, primary_key=True) qml: str attr: str style: str mapbox_paint: dict[str, Any] | None = Field(sa_type=JSON(none_as_null=True)) mapbox_layout: dict[str, Any] | None = Field(sa_type=JSON(none_as_null=True)) def __repr__(self): return ''.format(self=self)