[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:48 UTC 2011
The following commit has been merged in the debian branch:
commit e9876b927ae57295b3db5db0258ea4f10dd19271
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date: Sun Dec 6 17:46:22 2009 +0100
opimd: generic: implement list_fields, add_new_field and remove_field functions
diff --git a/framework/subsystems/opimd/helpers.py b/framework/subsystems/opimd/helpers.py
index 265f1e6..cd2c11e 100644
--- a/framework/subsystems/opimd/helpers.py
+++ b/framework/subsystems/opimd/helpers.py
@@ -35,6 +35,12 @@ class InvalidDomain( DBusException ):
_dbus_error_name = "org.freesmartphone.PIM.InvalidDomain"
#----------------------------------------------------------------------------#
+class InvalidField( DBusException ):
+#----------------------------------------------------------------------------#
+ """Raised when a field name or type is invalid"""
+ _dbus_error_name = "org.freesmartphone.PIM.InvalidField"
+
+#----------------------------------------------------------------------------#
class InvalidBackendID( DBusException ):
#----------------------------------------------------------------------------#
"""Raised when a submitted backend ID is invalid / out of range"""
diff --git a/framework/subsystems/opimd/pimd_generic.py b/framework/subsystems/opimd/pimd_generic.py
index 537a188..ecfc77d 100644
--- a/framework/subsystems/opimd/pimd_generic.py
+++ b/framework/subsystems/opimd/pimd_generic.py
@@ -679,6 +679,24 @@ class GenericDomain():
else:
return 'generic'
+ @classmethod
+ def add_new_field(self, name, type):
+ if not name in self.FieldTypes and type in TypeManager.Types:
+ self.FieldTypes[name] = type
+ else:
+ raise InvalidField ( "Field %s does already exist or type %s is invalid." % name, type)
+
+ @classmethod
+ def remove_field(self, name):
+ if name in self.FieldTypes:
+ del self.FieldTypes[name]
+ else:
+ raise InvalidField ("Field %s does not exist!" % name)
+
+ @classmethod
+ def list_fields(self):
+ return self.FieldTypes
+
def enumerate_items(self, backend):
"""Enumerates all entry data belonging to a specific backend
diff --git a/framework/subsystems/opimd/type_manager.py b/framework/subsystems/opimd/type_manager.py
index 2e12d0c..210242f 100644
--- a/framework/subsystems/opimd/type_manager.py
+++ b/framework/subsystems/opimd/type_manager.py
@@ -44,6 +44,8 @@ _TYPES = ['objectpath', 'phonenumber', 'address', 'email', 'name', 'date', 'uri'
class TypeManager(DBusFBObject):
#----------------------------------------------------------------------------#
+ Types = _TYPES
+
def __init__(self):
"""Initializes the type manager"""
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list