Skip to content
Snippets Groups Projects
Commit c3bc91e7 authored by jkerdreu's avatar jkerdreu
Browse files

After a long evaluation of @functools.wrapper, I still go w/ @decorator.

Clean up some code. still a bit crappy, but no choice.

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@2521 b32b6428-25c9-4566-ad07-03861ab6144f
parent 0b7264d9
No related branches found
No related tags found
No related merge requests found
......@@ -16,25 +16,23 @@ from gevent.util import wrap_errors
from decorator import decorator
def run(func,*args,**kwargs):
lock = args[0].lock
if not lock.ready():
self = args[0]
if not self.lock.ready():
logger.warning("LOCKED waiting.. %s" % func)
lock.wait()
lock.acquire()
self.lock.wait()
self.lock.acquire()
try:
#logger.debug("Calling %s " % func)
func(*args,**kwargs)
except Exception as e:
logger.warning(e)
lock.release()
logger.warning(f"{self.bulb} {e}")
self.lock.release()
@decorator
def spawn(func,*args,**kwargs):
ptr = functools.partial(run,func,*args,**kwargs)
gevent.spawn(ptr)
def properties_compare(orig,new):
r = {}
for k in new.keys():
......@@ -43,7 +41,6 @@ def properties_compare(orig,new):
r.update({k:new[k]})
return r
class YeelightDev(object):
def __init__(self,bulb,addr):
logger.info('New device at %s : %s' % (bulb._ip,addr))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment