- def setRecord(self, rid, content = None, label = None):
- """
- Alter an existing record
- """
- if content:
- self.dbcur.execute('UPDATE notes SET content = "' + self.escape(content) +
- '" WHERE id = ' + str(rid) + ';')
- if label:
- self.dbcur.execute('UPDATE notes SET label = "' + self.escape(label) +
- '" WHERE id = ' + str(rid) + ';')
-
- def addRecord(self, label = '', content = ''):
- """
- Create a new record, return the new record id
- """
- self.dbcur.execute('INSERT INTO notes (label, content) VALUES ("' + self.escape(label) +
- '", "' + self.escape(content) + '");')
+ def setRecord(self, uuid = None, label = None, content = None):
+ """
+ Create or alter a record
+ """
+ if not uuid:
+ if label: label = self.escape(label)
+ else: label = ''
+ if content: content = self.escape(content)
+ else: content = ''
+ self.dbcur.execute('INSERT INTO notes (uuid, label, content, revision, lastsync) VALUES ' +
+ '(lower(hex(randomblob(16))), "' + label + '", "' + content +
+ '", datetime(\'now\'), datetime(\'1970-01-01\'));')
+ else:
+ if content:
+ self.dbcur.execute('UPDATE notes SET content = "' + self.escape(content) +
+ '", revision = datetime(\'now\') WHERE uuid = "' + str(uuid) +
+ '" AND NOT content = "' + self.escape(content) + '";')
+ if label:
+ self.dbcur.execute('UPDATE notes SET label = "' + self.escape(label) +
+ '", revision = datetime(\'now\') WHERE uuid = "' + str(uuid) + '";')