[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, debian, updated. upstream/0.9.5.5-717-g0f98819

Sebastian Krzyszkowiak seba.dos1 at gmail.com
Sat Aug 6 08:18:00 UTC 2011


The following commit has been merged in the debian branch:
commit f6ff7cc6a2246746aa6ae89fbf999e3898f033fd
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date:   Sat Aug 22 22:19:14 2009 +0200

    opimd: SQLite-*: support editing multiple values of one field

diff --git a/framework/subsystems/opimd/pimb_sqlite_calls.py b/framework/subsystems/opimd/pimb_sqlite_calls.py
index 1ee928f..48e9665 100644
--- a/framework/subsystems/opimd/pimb_sqlite_calls.py
+++ b/framework/subsystems/opimd/pimb_sqlite_calls.py
@@ -171,11 +171,12 @@ class SQLiteCallBackend(Backend):
             if field in reqfields:
                 cur.execute('UPDATE calls SET '+field+'=? WHERE id=?',(value,callId))
             elif not field.startswith('_'):
-                cur.execute('SELECT id FROM call_values WHERE callId=? AND field=?',(callId,field))
-                if cur.fetchone() == None:
-                    cur.execute('INSERT INTO call_values (field,value,callId) VALUES (?,?,?)',(field,value,callId))
+                cur.execute('DELETE FROM call_values WHERE callId=? AND field=?',(entryId,field))
+                if isinstance(value, Array) or isinstance(value, list):
+                    for val in value:
+                        cur.execute('INSERT INTO call_values (field,value,callId) VALUES (?,?,?)',(field,val,entryId))
                 else:
-                    cur.execute('UPDATE call_values SET value=? WHERE field=? AND callId=?',(value,field,callId))
+                    cur.execute('INSERT INTO call_values (field,value,callId) VALUES (?,?,?)',(field,value,entryId))
   #      cur.execute('UPDATE calls SET updated=1 WHERE id=?',(callId,))
         self.con.commit()
         cur.close()
diff --git a/framework/subsystems/opimd/pimb_sqlite_contacts.py b/framework/subsystems/opimd/pimb_sqlite_contacts.py
index ae7927b..4770cf2 100644
--- a/framework/subsystems/opimd/pimb_sqlite_contacts.py
+++ b/framework/subsystems/opimd/pimb_sqlite_contacts.py
@@ -208,11 +208,12 @@ class SQLiteContactBackend(Backend):
             if field in reqfields:
                 cur.execute('UPDATE contacts SET '+field+'=? WHERE id=?',(value,contactId))
             elif not field.startswith('_'):
-                cur.execute('SELECT id FROM contact_values WHERE contactId=? AND field=?',(contactId,field))
-                if cur.fetchone() == None:
-                    cur.execute('INSERT INTO contact_values (field,value,contactId) VALUES (?,?,?)',(field,value,contactId))
+                cur.execute('DELETE FROM contact_values WHERE contactId=? AND field=?',(entryId,field))
+                if isinstance(value, Array) or isinstance(value, list):
+                    for val in value:
+                        cur.execute('INSERT INTO contact_values (field,value,contactId) VALUES (?,?,?)',(field,val,entryId))
                 else:
-                    cur.execute('UPDATE contact_values SET value=? WHERE field=? AND contactId=?',(value,field,contactId))
+                    cur.execute('INSERT INTO contact_values (field,value,contactId) VALUES (?,?,?)',(field,value,entryId))
     #    cur.execute('UPDATE contacts SET updated=1 WHERE id=?',(contactId,))
         self.con.commit()
         cur.close()
diff --git a/framework/subsystems/opimd/pimb_sqlite_dates.py b/framework/subsystems/opimd/pimb_sqlite_dates.py
index 72c60dd..b715ba6 100644
--- a/framework/subsystems/opimd/pimb_sqlite_dates.py
+++ b/framework/subsystems/opimd/pimb_sqlite_dates.py
@@ -162,11 +162,12 @@ class SQLiteDatesBackend(Backend):
             if field in reqfields:
                 cur.execute('UPDATE dates SET '+field+'=? WHERE id=?',(value,dateId))
             elif not field.startswith('_'):
-                cur.execute('SELECT id FROM date_values WHERE dateId=? AND field=?',(dateId,field))
-                if cur.fetchone() == None:
-                    cur.execute('INSERT INTO date_values (field,value,dateId) VALUES (?,?,?)',(field,value,dateId))
+                cur.execute('DELETE FROM date_values WHERE dateId=? AND field=?',(entryId,field))
+                if isinstance(value, Array) or isinstance(value, list):
+                    for val in value:
+                        cur.execute('INSERT INTO date_values (field,value,dateId) VALUES (?,?,?)',(field,val,entryId))
                 else:
-                    cur.execute('UPDATE date_values SET value=? WHERE field=? AND dateId=?',(value,field,dateId))
+                    cur.execute('INSERT INTO date_values (field,value,dateId) VALUES (?,?,?)',(field,value,entryId))
     #    cur.execute('UPDATE dates SET updated=1 WHERE id=?',(dateId,))
         self.con.commit()
         cur.close()
diff --git a/framework/subsystems/opimd/pimb_sqlite_messages.py b/framework/subsystems/opimd/pimb_sqlite_messages.py
index c1cbf43..1fb424f 100644
--- a/framework/subsystems/opimd/pimb_sqlite_messages.py
+++ b/framework/subsystems/opimd/pimb_sqlite_messages.py
@@ -196,11 +196,12 @@ class SQLiteMessagesBackend(Backend):
             if field in reqfields:
                 cur.execute('UPDATE messages SET '+field+'=? WHERE id=?',(value,messageId))
             elif not field.startswith('_'):
-                cur.execute('SELECT id FROM message_values WHERE messageId=? AND field=?',(messageId,field))
-                if cur.fetchone() == None:
-                    cur.execute('INSERT INTO message_values (field,value,messageId) VALUES (?,?,?)',(field,value,messageId))
+                cur.execute('DELETE FROM message_values WHERE messageId=? AND field=?',(entryId,field))
+                if isinstance(value, Array) or isinstance(value, list):
+                    for val in value:
+                        cur.execute('INSERT INTO message_values (field,value,messageId) VALUES (?,?,?)',(field,val,entryId))
                 else:
-                    cur.execute('UPDATE message_values SET value=? WHERE field=? AND messageId=?',(value,field,messageId))
+                    cur.execute('INSERT INTO message_values (field,value,messageId) VALUES (?,?,?)',(field,value,entryId))
     #    cur.execute('UPDATE messages SET updated=1 WHERE id=?',(messageId,))
         self.con.commit()
         cur.close()
diff --git a/framework/subsystems/opimd/pimb_sqlite_tasks.py b/framework/subsystems/opimd/pimb_sqlite_tasks.py
index 1709f46..6e10149 100644
--- a/framework/subsystems/opimd/pimb_sqlite_tasks.py
+++ b/framework/subsystems/opimd/pimb_sqlite_tasks.py
@@ -163,11 +163,12 @@ class SQLiteTasksBackend(Backend):
             if field in reqfields:
                 cur.execute('UPDATE tasks SET '+field+'=? WHERE id=?',(value,entryId))
             elif not field.startswith('_'):
-                cur.execute('SELECT id FROM task_values WHERE taskId=? AND field=?',(entryId,field))
-                if cur.fetchone() == None:
-                    cur.execute('INSERT INTO task_values (field,value,taskId) VALUES (?,?,?)',(field,value,entryId))
+                cur.execute('DELETE FROM task_values WHERE taskId=? AND field=?',(entryId,field))
+                if isinstance(value, Array) or isinstance(value, list):
+                    for val in value:
+                        cur.execute('INSERT INTO task_values (field,value,taskId) VALUES (?,?,?)',(field,val,entryId))
                 else:
-                    cur.execute('UPDATE task_values SET value=? WHERE field=? AND taskId=?',(value,field,entryId))
+                    cur.execute('INSERT INTO task_values (field,value,taskId) VALUES (?,?,?)',(field,value,entryId))
     #    cur.execute('UPDATE tasks SET updated=1 WHERE id=?',(entryId,))
         self.con.commit()
         cur.close()

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list