37 lines
914 B
Python
37 lines
914 B
Python
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 '<models.Qml {self.model_name:s}>'.format(self=self)
|
|
|