[Modeling-cvs] ProjectModeling/Modeling Attribute.py,1.20,1.21 Entity.py,1.21,1.22 Join.py,1.6,1.7 M
Status: Abandoned
Brought to you by:
sbigaret
Update of /cvsroot/modeling/ProjectModeling/Modeling In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13414/Modeling Modified Files: Attribute.py Entity.py Join.py Model.py ModelSet.py Relationship.py utils.py Log Message: Fixed bug #902106: impossible to load a model if ZODB is installed. Index: Attribute.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/Attribute.py,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** Attribute.py 14 Feb 2004 18:27:03 -0000 1.20 --- Attribute.py 22 Feb 2004 17:31:37 -0000 1.21 *************** *** 35,43 **** # Modeling ! from utils import isaValidName, toBoolean ! from XMLutils import * ! from Model import ModelError ! from KeyValueCoding import KeyValueCoding ! import Validation from Modeling.utils import capitalizeFirstLetter --- 35,43 ---- # Modeling ! from Modeling.utils import isaValidName, toBoolean ! from Modeling.XMLutils import * ! from Modeling.Model import ModelError ! from Modeling.KeyValueCoding import KeyValueCoding ! from Modeling import Validation from Modeling.utils import capitalizeFirstLetter *************** *** 96,106 **** return tuple([t.__name__ for t in avail_types]) ! try: ! import ZODB ! from Persistence import Persistent ! except: ! from Persistent import Persistent ! class Attribute(Persistent, XMLCapability, KeyValueCoding): "Describes an attribute" # + public/private _TBD --- 96,102 ---- return tuple([t.__name__ for t in avail_types]) ! from Modeling.utils import base_persistent_object ! class Attribute(base_persistent_object, XMLCapability, KeyValueCoding): "Describes an attribute" # + public/private _TBD Index: Entity.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/Entity.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Entity.py 16 Feb 2004 20:01:06 -0000 1.21 --- Entity.py 22 Feb 2004 17:31:37 -0000 1.22 *************** *** 31,45 **** # Modeling ! from utils import isListOrTuple, isaValidName, toBoolean, finalize_docstrings ! from XMLutils import * ! from EntityClassDescription import EntityClassDescription ! from KeyValueCoding import KeyValueCoding ! from Model import ModelError ! from Attribute import Attribute ! from Exceptions import ModelValidationError ! import Validation ! import Qualifier ! from GlobalID import KeyGlobalID # python --- 31,45 ---- # Modeling ! from Modeling.utils import isListOrTuple, isaValidName, toBoolean, finalize_docstrings ! from Modeling.XMLutils import * ! from Modeling.EntityClassDescription import EntityClassDescription ! from Modeling.KeyValueCoding import KeyValueCoding ! from Modeling.Model import ModelError ! from Modeling.Attribute import Attribute ! from Modeling.Exceptions import ModelValidationError ! from Modeling import Validation ! from Modeling import Qualifier ! from Modeling.GlobalID import KeyGlobalID # python *************** *** 47,51 **** import re, string, sys, types ! from logging import debug ENTITY_DOC = { --- 47,51 ---- import re, string, sys, types ! from Modeling.logging import debug ENTITY_DOC = { *************** *** 112,123 **** ! try: ! import ZODB ! from Persistence import Persistent ! except: ! from Persistent import Persistent ! ! from Modeling.utils import base_object ! class Entity(base_object, XMLCapability, Persistent, KeyValueCoding): """ Describes an entity --- 112,117 ---- ! from Modeling.utils import base_persistent_object ! class Entity(base_persistent_object, XMLCapability, KeyValueCoding): """ Describes an entity Index: Join.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/Join.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Join.py 14 Feb 2004 18:27:03 -0000 1.6 --- Join.py 22 Feb 2004 17:31:38 -0000 1.7 *************** *** 33,41 **** __version__='$Revision$'[11:-2] ! from utils import isaValidName import types ! from XMLutils import * class Join(XMLCapability): --- 33,41 ---- __version__='$Revision$'[11:-2] ! from Modeling.utils import isaValidName import types ! from Modeling.XMLutils import * class Join(XMLCapability): Index: Model.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/Model.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Model.py 17 Feb 2004 19:03:16 -0000 1.15 --- Model.py 22 Feb 2004 17:31:38 -0000 1.16 *************** *** 39,53 **** #from Entity import Entity ! from utils import isaValidName ! from XMLutils import * ! from KeyValueCoding import KeyValueCoding import types - try: - import ZODB - from Persistence import Persistent - except: - from Persistent import Persistent - def updateModelWithCFG(model, cfg_path=None): """ --- 39,47 ---- #from Entity import Entity ! from Modeling.utils import isaValidName, base_persistent_object ! from Modeling.XMLutils import * ! from Modeling.KeyValueCoding import KeyValueCoding import types def updateModelWithCFG(model, cfg_path=None): """ *************** *** 163,168 **** from NotificationFramework.mems_lib import isinstance if callable(model) and not isinstance(model, Model): ! # Model.Model derives from ZODB.Persistent, hence it is callable ! # but it shouldn't be called! model=model() import PyModel --- 157,162 ---- from NotificationFramework.mems_lib import isinstance if callable(model) and not isinstance(model, Model): ! # Model.Model may derive from ZODB.Persistent if ZODB is installed: ! # in this case it is callable but it shouldn't be called! model=model() import PyModel *************** *** 249,253 **** return None ! class Model(Persistent, XMLCapability, KeyValueCoding): "Describes a model" _is_a_model = 1 --- 243,247 ---- return None ! class Model(base_persistent_object, XMLCapability, KeyValueCoding): "Describes a model" _is_a_model = 1 Index: ModelSet.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/ModelSet.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** ModelSet.py 14 Feb 2004 18:27:03 -0000 1.11 --- ModelSet.py 22 Feb 2004 17:31:38 -0000 1.12 *************** *** 48,68 **** __version__='$Revision$'[11:-2] ! from utils import isaValidName ! from XMLutils import * ! from Model import ModelError, Model ! from ClassDescription import ClassDescriptionNeededForEntityNameNotification from NotificationFramework import NotificationCenter NC=NotificationCenter ! import ClassDescription import types from xml.dom.minidom import parseString ! from logging import error, warn ! ! try: ! import ZODB ! from Persistence import Persistent ! except: ! from Persistent import Persistent from threading import RLock --- 48,62 ---- __version__='$Revision$'[11:-2] ! from Modeling.utils import isaValidName, base_persistent_object ! from Modeling.XMLutils import * ! from Modeling.Model import ModelError, Model ! from Modeling.ClassDescription import ClassDescriptionNeededForEntityNameNotification from NotificationFramework import NotificationCenter NC=NotificationCenter ! from Modeling import ClassDescription import types from xml.dom.minidom import parseString ! from Modeling.logging import error, warn from threading import RLock *************** *** 111,115 **** return Model.updateModelWithCFG(model, cfg_path) ! class ModelSet(Persistent): """Holds a set of Modeling.Models that can co-exist at runtime --- 105,109 ---- return Model.updateModelWithCFG(model, cfg_path) ! class ModelSet(base_persistent_object): """Holds a set of Modeling.Models that can co-exist at runtime Index: Relationship.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/Relationship.py,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** Relationship.py 14 Feb 2004 18:27:04 -0000 1.18 --- Relationship.py 22 Feb 2004 17:31:38 -0000 1.19 *************** *** 31,43 **** # Modeling ! from Join import Join ! from utils import isaValidName, toBoolean ! from KeyValueCoding import KeyValueCoding ! from XMLutils import * ! import Validation # Interfaces ! from interfaces.Relationship import RelationshipInterface ! from interfaces.XMLCapability import XMLCapabilityInterface # python --- 31,43 ---- # Modeling ! from Modeling.Join import Join ! from Modeling.utils import isaValidName, toBoolean ! from Modeling.KeyValueCoding import KeyValueCoding ! from Modeling.XMLutils import * ! from Modeling import Validation # Interfaces ! from Modeling.interfaces.Relationship import RelationshipInterface ! from Modeling.interfaces.XMLCapability import XMLCapabilityInterface # python *************** *** 51,57 **** # Relationships props ! from ClassDescription import DELETE_NULLIFY, DELETE_DENY, DELETE_CASCADE, DELETE_NOACTION, old_delete_rules ! from utils import isListOrTuple class RelationshipError(Exception): --- 51,57 ---- # Relationships props ! from Modeling.ClassDescription import DELETE_NULLIFY, DELETE_DENY, DELETE_CASCADE, DELETE_NOACTION, old_delete_rules ! from Modeling.utils import isListOrTuple, base_persistent_object class RelationshipError(Exception): *************** *** 59,70 **** pass - try: - import ZODB - from Persistence import Persistent - except: - from Persistent import Persistent - ! class Relationship(Persistent, XMLCapability, KeyValueCoding): "See interfaces.Relationship for detail" # --- 59,64 ---- pass ! class Relationship(base_persistent_object, XMLCapability, KeyValueCoding): "See interfaces.Relationship for detail" # Index: utils.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/utils.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** utils.py 16 Feb 2004 20:01:06 -0000 1.19 --- utils.py 22 Feb 2004 17:31:38 -0000 1.20 *************** *** 28,31 **** --- 28,42 ---- tools using this framework. + The module also defines two classes: + + - `base_object` is equivalent to ``object`` (``types.ObjectType``) when + it is available (python2.2 or higher), or is an empty class in python2.1 + + - `base_persistent_object` equals to ``ZODB.Persistent`` if ZODB is + installed, or else equals to `base_object`. This is for use by `Model`, + `Entity`, `Attribute` and `Relationship` --the ZModeler in particular + requires that they inherit from ``ZODB.Persistent`` so that they can be + stored in the zodb. + $Id$""" *************** *** 47,50 **** --- 58,68 ---- newclass = 0 + try: + import ZODB + from Persistence import Persistent + base_persistent_object=Persistent + except: + base_persistent_object=base_object + _validFirstLetter = "_"+string.letters |