From df61c1b4579334bdaced5ecd2ca63599fe8ef954 Mon Sep 17 00:00:00 2001 From: manatlan Date: Sun, 8 Oct 2023 13:37:22 +0200 Subject: [PATCH] fix: tag.update is ok now --- htagweb/appserver.py | 2 +- htagweb/server/__init__.py | 18 ++++++++++++------ htagweb/server/client.py | 4 +++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/htagweb/appserver.py b/htagweb/appserver.py index 8e98e6c..c17b666 100644 --- a/htagweb/appserver.py +++ b/htagweb/appserver.py @@ -326,7 +326,7 @@ async def serve(self, request, connect(); """ % locals() - p = HrClient(uid,fqn,js,self.sesprovider.__name__) + p = HrClient(uid,fqn,js,self.sesprovider.__name__,http_only=is_http_only) html=await p.start(*args,**kargs) return HTMLResponse(html) diff --git a/htagweb/server/__init__.py b/htagweb/server/__init__.py index 5093618..81a4b7e 100644 --- a/htagweb/server/__init__.py +++ b/htagweb/server/__init__.py @@ -83,7 +83,7 @@ def __repr__(self): return self.hid ################################################################################## -def hrprocess(hid:Hid,js,init,sesprovidername): +def hrprocess(hid:Hid,js,init,sesprovidername,useUpdate): ################################################################################## FactorySession=importFactorySession(sesprovidername) @@ -139,14 +139,20 @@ def suicide(): # register tag.update feature #====================================== async def update(actions): + """ return always True !! + IRL: it should wait an hrclient response to return true/false according + the fact it reachs to send back on socket. + """ try: - r=await bus.publish(hid.event_response_update,actions) + await bus.publish(hid.event_response_update,actions) except: log("!!! concurrent write/read on redys !!!") - r=False - return r - - hr.sendactions=update + return True + if useUpdate: + log("tag.update enabled") + hr.sendactions=update + else: + log("tag.update not possible (http only)") #====================================== recreate={} diff --git a/htagweb/server/client.py b/htagweb/server/client.py index 02c4579..03ed524 100644 --- a/htagweb/server/client.py +++ b/htagweb/server/client.py @@ -25,11 +25,12 @@ def startProcess(params:dict): class HrClient: - def __init__(self,uid:str,fqn:str,js:str=None,sesprovidername=None): + def __init__(self,uid:str,fqn:str,js:str=None,sesprovidername=None,http_only=False): """ !!!!!!!!!!!!!!!!!!!! if js|sesprovidername is None : can't do a start() !!!!!!!!!!!!!!!!!!!!!!""" self.js=js self.bus = redys.v2.AClient() self.sesprovidername=sesprovidername + self.useUpdate = not http_only self.hid=Hid.create(uid,fqn) @@ -59,6 +60,7 @@ async def start(self,*a,**k) -> str: js=self.js, init= (a,k), sesprovidername=self.sesprovidername, + useUpdate = self.useUpdate, ) running_hids:list=await self.bus.get(KEYAPPS) or []