]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
htsp.py: do not send authorization for each request
authorJaroslav Kysela <perex@perex.cz>
Mon, 1 Oct 2018 12:29:46 +0000 (14:29 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 1 Oct 2018 12:29:46 +0000 (14:29 +0200)
lib/py/tvh/htsp.py

index 49669ad1672e3eef613ee2e4e3103c224c13b2ec..23fb2e58ae5e1bbcbd56a9bf68f3cdf6ac50fb88 100644 (file)
@@ -50,13 +50,14 @@ class HTSPClient(object):
         self._name = name
         self._auth = None
         self._user = None
-        self._pass = None
+        self._auser = None
+        self._apass = None
 
     # Send
     def send(self, func, args={}):
         args['method'] = func
-        if self._user: args['username'] = self._user
-        if self._pass: args['digest'] = htsmsg.HMFBin(self._pass)
+        if self._auser: args['username'] = self._auser
+        if self._apass: args['digest'] = htsmsg.HMFBin(self._apass)
         log.debug('htsp tx:')
         log.debug(args, pretty=True)
         self._sock.send(htsmsg.serialize(args))
@@ -86,13 +87,16 @@ class HTSPClient(object):
 
     # Authenticate
     def authenticate(self, user, passwd=None):
-        self._user = user
+        self._auser = user
         if passwd:
-            self._pass = htsp_digest(user, passwd, self._auth)
+            self._apass = htsp_digest(user, passwd, self._auth)
         self.send('authenticate')
+        self._auser = None
+        self._apass = None
         resp = self.recv()
         if 'noaccess' in resp:
             raise Exception('Authentication failed')
+        self._user = user
 
     # Enable async receive
     def enableAsyncMetadata(self, args={}):