Difference between revisions of "GRAMPS work required for Python 2.6"

From Gramps
Jump to: navigation, search
(Database Change)
Line 19: Line 19:
  
 
* The log system must be changed:  
 
* The log system must be changed:  
** 4.6: db.DB_LOG_AUTOREMOVE  ==> 4.7: db.DB_LOG_AUTO_REMOVE
+
** 4.6: db.DB_LOG_AUTOREMOVE  ==> 4.7: db.DB_LOG_AUTO_REMOVE (there is a customized dbdir.py on [http://timaba.de/packages/archlinux/i686/dbdir.py)
 
** method set_flags must be researched. Changed to log_set_config() method where needed
 
** method set_flags must be researched. Changed to log_set_config() method where needed
  
  
 
From the above it looks like we will need two parellel implementations, so in config a flag will need to be raised: 4.6- database engine or 4.6+ database engine. For the first, the code is as today, for the second, use the new methods. Is this the best way to handle this??
 
From the above it looks like we will need two parellel implementations, so in config a flag will need to be raised: 4.6- database engine or 4.6+ database engine. For the first, the code is as today, for the second, use the new methods. Is this the best way to handle this??

Revision as of 19:32, 4 November 2008

Work to do to have GRAMPS work in python 2.6

Required Changes

  • Change md5 module by hashlib.
    • where is this used? Keys? Website? Do the keys remain the same after changing to hashlib?


Database Change

Python 2.6 will normally ship with bsddb 4.7.x , which holds some important changes over 4.6.x Details:

Points:

  • Is upgrade of the old database possible?? So can a database created with 4.6 be opened with 4.7? We can expect the reverse not to be possible? If so, do we need a new database version just for this, so we can stop users opening the db made with 4.7 again with 4.6 ?
  • The log system must be changed:


From the above it looks like we will need two parellel implementations, so in config a flag will need to be raised: 4.6- database engine or 4.6+ database engine. For the first, the code is as today, for the second, use the new methods. Is this the best way to handle this??