Skip to content

Commit

Permalink
Convert data from _XMLObjects into _BaseObjects
Browse files Browse the repository at this point in the history
  • Loading branch information
cleder committed Mar 16, 2024
1 parent ba1d68a commit 88b57e4
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions fastkml/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@

from fastkml import config
from fastkml.base import _BaseObject
from fastkml.base import _XMLObject
from fastkml.enums import DataType
from fastkml.exceptions import KMLSchemaError
from fastkml.helpers import attribute_enum_kwarg
Expand Down Expand Up @@ -252,7 +251,7 @@ def __bool__(self) -> bool:

class SimpleData(_BaseObject):
name: Optional[str]
value: Optional[Union[int, str, float, bool]]
value: Optional[str]

def __init__(
self,
Expand All @@ -261,7 +260,7 @@ def __init__(
id: Optional[str] = None,
target_id: Optional[str] = None,
name: Optional[str] = None,
value: Optional[Union[int, str, float, bool]] = None,
value: Optional[str] = None,
) -> None:
super().__init__(ns=ns, name_spaces=name_spaces, id=id, target_id=target_id)
self.name = name
Expand Down Expand Up @@ -293,7 +292,7 @@ def __bool__(self) -> bool:
)


class SchemaData(_XMLObject):
class SchemaData(_BaseObject):
"""
<SchemaData schemaUrl="anyURI">
This element is used in conjunction with <Schema> to add typed
Expand All @@ -315,10 +314,12 @@ def __init__(
self,
ns: Optional[str] = None,
name_spaces: Optional[Dict[str, str]] = None,
id: Optional[str] = None,
target_id: Optional[str] = None,
schema_url: Optional[str] = None,
data: Optional[Iterable[SimpleData]] = None,
) -> None:
super().__init__(ns=ns, name_spaces=name_spaces)
super().__init__(ns=ns, name_spaces=name_spaces, id=id, target_id=target_id)
self.schema_url = schema_url
self.data = list(data) if data else []

Expand Down Expand Up @@ -351,7 +352,7 @@ def append_data(self, data: SimpleData) -> None:
)


class ExtendedData(_XMLObject):
class ExtendedData(_BaseObject):
"""
Represents a list of untyped name/value pairs. See docs:
Expand All @@ -368,9 +369,11 @@ def __init__(
self,
ns: Optional[str] = None,
name_spaces: Optional[Dict[str, str]] = None,
id: Optional[str] = None,
target_id: Optional[str] = None,
elements: Optional[Iterable[Union[Data, SchemaData]]] = None,
) -> None:
super().__init__(ns=ns, name_spaces=name_spaces)
super().__init__(ns=ns, name_spaces=name_spaces, id=id, target_id=target_id)
self.elements = list(elements) if elements else []

def __bool__(self) -> bool:
Expand Down

0 comments on commit 88b57e4

Please sign in to comment.