master
yumoqing 2024-04-07 18:11:13 +08:00
parent 3d7e4a4fd6
commit b3ec0416e1
2 changed files with 28 additions and 3 deletions

View File

@ -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):
v = super().__getitem__(key)
return self.__DOitem(v)
try:
v = super().__getitem__(key)
return self.__DOitem(v)
except KeyError:
return None
def __setattr__(self, attr, value):
"""

View File

@ -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)