mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-11-22 14:38:00 +00:00
make sure sub-dicts in DotDict are DotDict objects
This commit is contained in:
parent
76476d1d03
commit
0b9281bec1
|
@ -275,6 +275,12 @@ async def validate_signature(actor, http_request):
|
||||||
|
|
||||||
|
|
||||||
class DotDict(dict):
|
class DotDict(dict):
|
||||||
|
def __init__(self, _data, **kwargs):
|
||||||
|
dict.__init__(self)
|
||||||
|
|
||||||
|
self.update(_data, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def __getattr__(self, k):
|
def __getattr__(self, k):
|
||||||
try:
|
try:
|
||||||
return self[k]
|
return self[k]
|
||||||
|
@ -322,6 +328,19 @@ class DotDict(dict):
|
||||||
return json.dumps(self, indent=indent)
|
return json.dumps(self, indent=indent)
|
||||||
|
|
||||||
|
|
||||||
|
def update(self, _data, **kwargs):
|
||||||
|
if isinstance(_data, dict):
|
||||||
|
for key, value in _data.items():
|
||||||
|
self[key] = value
|
||||||
|
|
||||||
|
elif isinstance(_data, (list, tuple, set)):
|
||||||
|
for key, value in _data:
|
||||||
|
self[key] = value
|
||||||
|
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
self[key] = value
|
||||||
|
|
||||||
|
|
||||||
class Message(DotDict):
|
class Message(DotDict):
|
||||||
@classmethod
|
@classmethod
|
||||||
def new_actor(cls, host, pubkey, description=None):
|
def new_actor(cls, host, pubkey, description=None):
|
||||||
|
|
Loading…
Reference in a new issue