add_str_method_to_Mdict

This commit is contained in:
dobefore 2021-09-13 12:17:32 +08:00 committed by Vikash Kothary
parent 6a71fc3ca5
commit 1e85c11ab0

View File

@ -403,7 +403,7 @@ class Requests(object):
self.environ=environ self.environ=environ
self.data=None self.data=None
@property @property
def path(self): def path(self)-> str:
return self.environ['PATH_INFO'] return self.environ['PATH_INFO']
@property @property
def parse_request(self): def parse_request(self):
@ -502,15 +502,15 @@ class Requests(object):
params = MultiDict(r) params = MultiDict(r)
return params return params
class MultiDict(object): class MultiDict(object):
def __init__(self, *dicts): def __init__(self, dicts: dict):
for d in dicts: if not isinstance(dicts,dict):
if not isinstance(d,dict): raise TypeError(dicts)
raise TypeError(d)
self.dicts=dicts self.dicts=dicts
def __str__(self) -> str:
return dict.__str__(self.dicts)
def __getitem__(self,key): def __getitem__(self,key):
for d in self.dicts:
try: try:
value = d[key] value = self.dicts[key]
return value return value
except KeyError: except KeyError:
raise KeyError(key) raise KeyError(key)
@ -635,8 +635,8 @@ class SyncApp:
if url in SyncCollectionHandler.operations + SyncMediaHandler.operations: if url in SyncCollectionHandler.operations + SyncMediaHandler.operations:
# 'meta' passes the SYNC_VER but it isn't used in the handler # 'meta' passes the SYNC_VER but it isn't used in the handler
if url == 'meta': if url == 'meta':
if session.skey == None and 's' in req.POST: if session.skey == None and 's' in p:
session.skey = req.POST['s'] session.skey = p['s']
if 'v' in data: if 'v' in data:
session.version = data['v'] session.version = data['v']
if 'cv' in data: if 'cv' in data: