Skip to content

Commit 99fd564

Browse files
committed
Extend PropertyMixin with append_property(key, value).
1 parent 949a9a1 commit 99fd564

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

mapmaker/utils/property_mixin.py

+12-2
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,25 @@ def __init__(self, properties: Optional[dict[str, Any]]=None):
3232
def properties(self):
3333
return self.__properties
3434

35-
def pop_property(self, key: str, default: Any=None) -> Any:
36-
return self.__properties.pop(key, default)
35+
def append_property(self, key: str, value: Any) -> None:
36+
if value is None:
37+
return
38+
elif key not in self.__properties:
39+
self.__properties[key] = [value]
40+
elif isinstance(self.__properties[key], list):
41+
self.__properties[key].append(value)
42+
else:
43+
self.__properties[key] = [self.__properties[key], value]
3744

3845
def get_property(self, key: str, default: Any=None) -> Any:
3946
return self.__properties.get(key, default)
4047

4148
def has_property(self, key: str) -> bool:
4249
return self.__properties.get(key, '') != ''
4350

51+
def pop_property(self, key: str, default: Any=None) -> Any:
52+
return self.__properties.pop(key, default)
53+
4454
def set_property(self, key: str, value: Any) -> None:
4555
if value is None:
4656
self.pop_property(key)

0 commit comments

Comments
 (0)