bugfix
This commit is contained in:
parent
3d7e4a4fd6
commit
b3ec0416e1
@ -29,9 +29,34 @@ class DictObject(dict):
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
def get_data_by_keys(self, keys):
|
||||
try:
|
||||
ks = keys.split('.', 1)
|
||||
if '[' not in ks[0]:
|
||||
d = getattr(self, ks[0])
|
||||
if len(ks) == 1:
|
||||
return d
|
||||
if isinstance(d, DictObject):
|
||||
return d.get_data_by_keys(ks[1])
|
||||
return None
|
||||
ks1 = ks[0].split('[', 1)
|
||||
k = ks1[0]
|
||||
idx = int(ks1[1].split(']',1)[0])
|
||||
d = getattr(self, k)[idx]
|
||||
if len(ks) == 1:
|
||||
return d
|
||||
if isinstance(d, DictObject):
|
||||
return d.get_data_by_keys(ks[1])
|
||||
return None
|
||||
except:
|
||||
return None
|
||||
|
||||
def __getitem__(self, key):
|
||||
try:
|
||||
v = super().__getitem__(key)
|
||||
return self.__DOitem(v)
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
def __setattr__(self, attr, value):
|
||||
"""
|
||||
|
@ -50,7 +50,7 @@ class HttpClient:
|
||||
return await resp.text(self.coding)
|
||||
async for chunk in resp.content.iter_chunked(1024):
|
||||
if stream_func:
|
||||
stream_func(chunk)
|
||||
await stream_func(chunk)
|
||||
|
||||
def grapCookie(self,url):
|
||||
session = self.getsession(url)
|
||||
|
Loading…
Reference in New Issue
Block a user