[Jppy-commit] [SCM] jppy - Python bindings and API for jpilot databases and a GTK2 GUI branch, devel-calendar, updated. releases/0.0.48-88-gcfdb8ad

Nick Piper nick-git@nickpiper.co.uk
Sat Nov 8 13:32:13 GMT 2008


The following commit has been merged in the devel-calendar branch:
commit 830c63b90d9ccc649d9879a0200beddcef6cf928
Author: Nick Piper <nick-git@nickpiper.co.uk>
Date:   Fri Nov 7 13:53:45 2008 +0000

    Reintroduce a simplier mixin class to remove some duplication of code

diff --git a/jppy/jpilot.py b/jppy/jpilot.py
index 058d58c..9f4ca2d 100644
--- a/jppy/jpilot.py
+++ b/jppy/jpilot.py
@@ -2,60 +2,52 @@ import _jpilot
 import baseclasses
 import os
 
-class addressBook(baseclasses.addressBook):
-    def __init__(self):
+class jpilot_common_mixin:
+    def set_up_write_and_delete_functions(self):
         self._writeDatabaseFunction= _jpilot.SaveObjectToJpilotDatabase
         self._deleteFromDatabaseFunction = _jpilot.DeleteObjectFromJpilotDatabase
         assert _jpilot.check_hidden_dir() == 0
-        assert _jpilot.check_copy_DBs_to_home() == 0
+        assert _jpilot.check_copy_DBs_to_home() == 0        
+
+class addressBook(baseclasses.addressBook, jpilot_common_mixin):
+    def __init__(self):
         self._appInfoFunction      = _jpilot.w_read_AddressAppInfo
         self._readDatabaseFunction = _jpilot.w_jp_read_AddressDB
         self._database             = "AddressDB"
         baseclasses.addressBook.__init__(self)
+        self.set_up_write_and_delete_functions()
 
-class memoList(baseclasses.memoList):
+class memoList(baseclasses.memoList, jpilot_common_mixin):
     def __init__(self):
-        self._writeDatabaseFunction= _jpilot.SaveObjectToJpilotDatabase
-        self._deleteFromDatabaseFunction = _jpilot.DeleteObjectFromJpilotDatabase
-        assert _jpilot.check_hidden_dir() == 0
-        assert _jpilot.check_copy_DBs_to_home() == 0
         self._appInfoFunction      = _jpilot.w_read_MemoAppInfo
         self._readDatabaseFunction = _jpilot.w_jp_read_MemoDB
         self._database             = "MemoDB"
         baseclasses.memoList.__init__(self)
+        self.set_up_write_and_delete_functions()
         
-class memo32List(baseclasses.memo32List):
+class memo32List(baseclasses.memo32List, jpilot_common_mixin):
     def __init__(self):
-        self._writeDatabaseFunction= _jpilot.SaveObjectToJpilotDatabase
-        self._deleteFromDatabaseFunction = _jpilot.DeleteObjectFromJpilotDatabase
-        assert _jpilot.check_hidden_dir() == 0
-        assert _jpilot.check_copy_DBs_to_home() == 0
         self._appInfoFunction      = _jpilot.w_read_MemoAppInfo
         self._readDatabaseFunction = _jpilot.w_jp_read_MemoDB
         self._database             = "Memo32DB"
         baseclasses.memoList.__init__(self)
+        self.set_up_write_and_delete_functions()
         
-class taskList(baseclasses.taskList):
+class taskList(baseclasses.taskList, jpilot_common_mixin):
     def __init__(self):
-        self._writeDatabaseFunction= _jpilot.SaveObjectToJpilotDatabase
-        self._deleteFromDatabaseFunction = _jpilot.DeleteObjectFromJpilotDatabase
-        assert _jpilot.check_hidden_dir() == 0
-        assert _jpilot.check_copy_DBs_to_home() == 0
         self._appInfoFunction      = _jpilot.w_read_ToDoAppInfo
         self._readDatabaseFunction = _jpilot.w_jp_read_ToDoDB
         self._database             = "ToDoDB"
         baseclasses.taskList.__init__(self)
+        self.set_up_write_and_delete_functions()
 
-class calendar(baseclasses.calendar):
+class calendar(baseclasses.calendar, jpilot_common_mixin):
     def __init__(self):
-        self._writeDatabaseFunction= _jpilot.SaveObjectToJpilotDatabase
-        self._deleteFromDatabaseFunction = _jpilot.DeleteObjectFromJpilotDatabase
-        assert _jpilot.check_hidden_dir() == 0
-        assert _jpilot.check_copy_DBs_to_home() == 0
         self._appInfoFunction      = _jpilot.w_read_CalendarAppInfo
         self._readDatabaseFunction = _jpilot.w_jp_read_CalendarDB
         self._database             = "CalendarDB-PDat"
         baseclasses.calendar.__init__(self)
+        self.set_up_write_and_delete_functions()
 
 home = '%s/.jpilot' % (os.getenv('JPILOT_HOME') or os.getenv('HOME'))
 
diff --git a/jppy/jpilot_t3.py b/jppy/jpilot_t3.py
index 877550f..1b907f7 100644
--- a/jppy/jpilot_t3.py
+++ b/jppy/jpilot_t3.py
@@ -2,15 +2,12 @@ import _jpilot
 import baseclasses
 import os
 
-from jpilot import memoList, memo32List, taskList, calendar, installFile
+from jpilot import jpilot_common_mixin, memoList, memo32List, taskList, calendar, installFile
 
-class addressBook(baseclasses.addressBook):
+class addressBook(baseclasses.addressBook, jpilot_common_mixin):
     def __init__(self):
-        self._writeDatabaseFunction= _jpilot.SaveObjectToJpilotDatabase
-        self._deleteFromDatabaseFunction = _jpilot.DeleteObjectFromJpilotDatabase
-        assert _jpilot.check_hidden_dir() == 0
-        assert _jpilot.check_copy_DBs_to_home() == 0
         self._appInfoFunction      = _jpilot.w_read_ContactAppInfo
         self._readDatabaseFunction = _jpilot.w_jp_read_ContactDB
         self._database             = "ContactsDB-PAdd"
         baseclasses.addressBook.__init__(self)
+        self.set_up_write_and_delete_functions()

-- 
jppy - Python bindings and API for jpilot databases and a GTK2 GUI



More information about the Jppy-commit mailing list