[~] Refactor

This commit is contained in:
Siarhei Siniak 2022-11-12 16:31:52 +03:00
parent e4cf00d1fe
commit f4680839c5

@ -1,4 +1,5 @@
import bleak import bleak
import inspect
import traceback import traceback
import pprint import pprint
@ -32,16 +33,20 @@ async def f3(client):
] ]
return t1 return t1
async def f5(name=None): async def f5(
name_check=None,
):
t2 = [] t2 = []
attempt = 0 attempt = 0
while True: while True:
t1 = await f1() t1 = await f1()
pprint.pprint([o.__dict__ for o in t1]) pprint.pprint([o.__dict__ for o in t1])
if not name is None: if not name_check is None:
assert isinstance(name, str) assert inspect.isfunction(name_check)
t5 = { t5 = {
i : o.details[0].name() i : o.details[0].name()
for i, o in enumerate(t1) for i, o in enumerate(t1)
@ -51,9 +56,11 @@ async def f5(name=None):
[ [
t1[k] t1[k]
for k, v in t5.items() for k, v in t5.items()
if isinstance(v, str) and v.lower() == name if isinstance(v, str) and name_check(v)
] ]
) )
else:
t2.extend(t1)
if len(t2) > 0: if len(t2) > 0:
break break
@ -66,13 +73,26 @@ async def f5(name=None):
async def f4( async def f4(
timeout=None, timeout=None,
characteristics=None, characteristics=None,
name_check=None,
): ):
if isinstance(name_check, str):
assert name_check in [
'watch fit',
]
name_check2 = lambda current_name: name_check.lower() in current_name.lower()
else:
name_check2 = name_check
assert not name_check2 is None
if characteristics is None: if characteristics is None:
characteristics = [ characteristics = [
'0000ffd1-0000-1000-8000-00805f9b34fb', '0000ffd1-0000-1000-8000-00805f9b34fb',
] ]
t2 = await f5(name='watch fit') t2 = await f5(
name_check=name_check2,
)
if len(t2) == 0: if len(t2) == 0:
print('not found') print('not found')