[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:47 UTC 2011
The following commit has been merged in the debian branch:
commit 47f1e0de61a9f87c1415892ff408742970b3d202
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date: Sun Dec 6 17:36:34 2009 +0100
opimd: generic: support loading, storing and fallbacking to default field types
diff --git a/framework/subsystems/opimd/pimd_generic.py b/framework/subsystems/opimd/pimd_generic.py
index 0f61769..537a188 100644
--- a/framework/subsystems/opimd/pimd_generic.py
+++ b/framework/subsystems/opimd/pimd_generic.py
@@ -41,6 +41,10 @@ from query_manager import QueryMatcher, SingleQueryHandler
from framework.config import config, busmap
+import os,pickle
+
+_CONF_PATH = '/etc/freesmartphone/opim/'
+
#----------------------------------------------------------------------------#
#_DOMAIN_NAME = "Generic"
@@ -590,11 +594,14 @@ class GenericDomain():
query_manager = None
Entry = None
_dbus_path = None
+ DefaultTypes = None
+ FieldTypes = None
def __init__(self):
"""Creates a new GenericDomain instance"""
self._backends = {}
self._entries = []
+ self.DefaultTypes = {}
self.Entry = GenericEntry
self._dbus_path = _DIN_ENTRY
self.query_manager = QueryManager(self._entries, self.name)
@@ -649,10 +656,28 @@ class GenericDomain():
return entry_id
@classmethod
+ def load_field_types(self):
+ if os.path.exists(_CONF_PATH+self.name+'Fields.pickle'):
+ pickleFile = open(_CONF_PATH+self.name+'Fields.pickle', "r")
+ self.FieldTypes = pickle.load(pickleFile)
+ pickleFile.close()
+ else:
+ self.FieldTypes = self.DefaultTypes
+
+ @classmethod
+ def save_field_types(self):
+ pickleFile = open(_CONF_PATH+self.name+'Fields.pickle', "w")
+ pickle.dump(self.FieldTypes,pickleFile)
+ pickleFile.close()
+
+ @classmethod
def field_type_from_name(self, name):
- if name=='Phone':
- return 'phonenumber'
- return 'generic'
+ if not self.FieldTypes:
+ self.load_field_types()
+ if name in self.FieldTypes:
+ return self.FieldTypes[name]
+ else:
+ return 'generic'
def enumerate_items(self, backend):
"""Enumerates all entry data belonging to a specific backend
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list