added sqlite3 support at Domino Server for label subscriptions and client registrations 59/15159/1
authorUlas Kozat <ulas.kozat@gmail.com>
Sat, 4 Jun 2016 06:05:02 +0000 (23:05 -0700)
committerUlas Kozat <ulas.kozat@gmail.com>
Sat, 4 Jun 2016 06:05:02 +0000 (23:05 -0700)
Change-Id: Id12aff1f81678aeb05ec77ff9f6fb28d6874b981
Signed-off-by: Ulas Kozat <ulas.kozat@gmail.com>
DominoServer.py

index f2a22e2..3cb3db6 100755 (executable)
@@ -198,6 +198,17 @@ class CommunicationHandler:
       logging.error('Could not add the new labels to %s for Domino Client %d', SERVER_DBFILE, sub_msg.domino_udid)
       logging.error('Unexpected error: %s', sys.exc_info()[0])
 
+    newttypeset = self.dominoServer.subscribed_templateformats[sub_msg.domino_udid]
+    try:
+      c.execute("REPLACE INTO ttypes (udid, ttype_list) VALUES ({udid}, '{newvalue}')".\
+               format(udid=sub_msg.domino_udid, newvalue=','.join(list(newttypeset)) ))
+    except sqlite3.OperationalError as ex1:
+      logging.error('Could not add the new labels to %s for Domino Client %d :  %s', SERVER_DBFILE, sub_msg.domino_udid, ex1.message)
+    except:
+      logging.error('Could not add the new labels to %s for Domino Client %d', SERVER_DBFILE, sub_msg.domino_udid)
+      logging.error('Unexpected error: %s', sys.exc_info()[0])
+
+
     dbconn.commit()
     dbconn.close()
 
@@ -361,6 +372,11 @@ def main(argv):
   except sqlite3.OperationalError as ex:
     logging.debug('In database file %s, no table is created as %s', SERVER_DBFILE, ex.message)
 
+  try:
+    c.execute('''CREATE TABLE ttypes (udid INTEGER PRIMARY KEY, ttype_list TEXT)''')
+  except sqlite3.OperationalError as ex:
+    logging.debug('In database file %s, no table is created as %s', SERVER_DBFILE, ex.message)
+
   try:
     c.execute('''CREATE TABLE clients (udid INTEGER PRIMARY KEY, ipaddr TEXT, tcpport INTEGER, templatetypes TEXT, seqno INTEGER)''')
   except sqlite3.OperationalError as ex: