[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:10 UTC 2011


The following commit has been merged in the debian branch:
commit c88a629a304432d38fe65ce8fa4f40b58658b81f
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date:   Thu Aug 27 00:19:48 2009 +0200

    opimd: little optimalizantion in merging and getting field value from entry

diff --git a/framework/subsystems/opimd/docs/TODO b/framework/subsystems/opimd/docs/TODO
index baceaee..8edf524 100644
--- a/framework/subsystems/opimd/docs/TODO
+++ b/framework/subsystems/opimd/docs/TODO
@@ -1,4 +1,5 @@
 Near future:
+* check if merging still works
 * quering "Phone" should check also "Office phone"
 In mean-time:
 * Initialized signal in source
diff --git a/framework/subsystems/opimd/pimd_generic.py b/framework/subsystems/opimd/pimd_generic.py
index 98d0b8f..6af82d1 100644
--- a/framework/subsystems/opimd/pimd_generic.py
+++ b/framework/subsystems/opimd/pimd_generic.py
@@ -99,22 +99,19 @@ class GenericEntry():
             # Return single result
             field = self._fields[field_ids[0]]
             result = field[1]
-
         else:
             # Return multiple results
             result = []
+            prev = self._fields[field_ids[0]][1]
+            thesame = 1
             for n in field_ids:
                 field = self._fields[n]
                 result.append(field[1])
-
-            thesame = 1
-            prev = self._fields[field_ids[0]]
-            for n in field_ids:
-                if prev!=self._fields[n]:
+                if prev!=field:
                     thesame = 0
 
             if thesame:
-                result = result[0]
+                result = prev
 
         if result != '':
             return result
@@ -269,11 +266,7 @@ class GenericEntry():
 
         duplicated = True
         for field_name in entry_fields:
-            try:
-                if self[field_name]!=entry_fields[field_name]:
-                    duplicated = False
-                    break
-            except KeyError:
+            if self[field_name]!=entry_fields[field_name]:
                 duplicated = False
                 break
 
@@ -286,26 +279,20 @@ class GenericEntry():
 
         merge = [1, 0]
         for field_name in entry_fields:
-            if not field_name.startswith('_'):
-                if field_name!='Path':
-                    field_value=entry_fields[field_name]
-                    try:
-                        if self[field_name]!=field_value:
-                            merge[0] = 0
-                            break
-                        else:
-                            merge[1] = 1
-                    except KeyError:
-                        pass
+            if not field_name.startswith('_') and field_name!='Path':
+                field_value=entry_fields[field_name]
+                if self[field_name]!=field_value:
+                    merge[0] = 0
+                    break
+                else:
+                    merge[1] = 1
 
         if merge[0]:
             if merge[1]:
                 self.import_fields(entry_fields, backend_name)
                 return True
-            else:
-                return False
-        else:
-            return False
+
+        return False
 
 
     def incorporates_data_from(self, backend_name):

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list