← Back to team overview

oship-dev team mailing list archive

[Branch ~oship-dev/oship/devel] Rev 479: Fix bug #622949. Added repr and parent to Role. Enforced invariants

 

------------------------------------------------------------
revno: 479
committer: Eduardo César edu@starforge>
branch nick: local
timestamp: Fri 2010-09-03 15:16:30 -0300
message:
  Fix bug #622949. Added repr and parent to Role. Enforced invariants
modified:
  src/oship/openehr/rm/demographic/__init__.py


--
lp:oship
https://code.launchpad.net/~oship-dev/oship/devel

Your team OSHIP Development Team is subscribed to branch lp:oship.
To unsubscribe from this branch go to https://code.launchpad.net/~oship-dev/oship/devel/+edit-subscription
=== modified file 'src/oship/openehr/rm/demographic/__init__.py'
--- src/oship/openehr/rm/demographic/__init__.py	2010-09-03 17:57:58 +0000
+++ src/oship/openehr/rm/demographic/__init__.py	2010-09-03 18:16:30 +0000
@@ -71,8 +71,8 @@
 
     grok.implements(IParty,ILocatable)
 
-    def __init__(self,uid,identities,contacts,relationships,reverseRelationships,details,archetypeNodeId,name,archetypeDetails,feederAudit,links):
-        Locatable.__init__(self,uid,archetypeNodeId,name,archetypeDetails,feederAudit,links)
+    def __init__(self,uid,identities,contacts,relationships,reverseRelationships,details,archetypeNodeId,name,archetypeDetails,feederAudit,links, parent=None):
+        Locatable.__init__(self,uid,archetypeNodeId,name,archetypeDetails,feederAudit,links, parent)
 
         if self.isArchetypeRoot() == False:
             raise(ValueError, u"Not an archetype root")
@@ -296,12 +296,12 @@
         return self.name
 
     def __repr__(self):
-        return "PartyRelationship(details=\'%s\',timeValidity=\'%s\',source=\'%s\',target=\'%s\'" % (self.details, self.timeValidity, self.source, self.target)
+        return "PartyRelationship(details=%s,timeValidity=%s,source=%s,target=%s" % (self.details, self.timeValidity, self.source, self.target)
 
 
 class Person(Actor):
     """
-    Generic description of of persons.  Provides a dedicated type to whicih Person archetypes can be targeted."),
+    Generic description of of persons.  Provides a dedicated type to which Person archetypes can be targeted."),
     """
 
     grok.implements(IPerson)
@@ -317,12 +317,18 @@
 
     grok.implements(IRole)
 
-    def __init__(self,capabilities,timeValidity,performer,uid,identities,contacts,relationships,reverseRelationships,details,archetypeNodeId,name,archetypeDetails,feederAudit,links):
-        Party.__init__(self,uid,identities,contacts,relationships,reverseRelationships,details,archetypeNodeId,name,archetypeDetails,feederAudit,links)
+    def __init__(self,capabilities,timeValidity,performer,uid,identities,contacts,relationships,reverseRelationships,details,archetypeNodeId,name,archetypeDetails,feederAudit,links, parent=None):
+        Party.__init__(self,uid,identities,contacts,relationships,reverseRelationships,details,archetypeNodeId,name,archetypeDetails,feederAudit,links, parent)
         self.capabilities=capabilities
         self.timeValidity=timeValidity
         self.performer=performer
 
+        if self.capabilities != None and bool(self.capabilities.empty):
+            raise "capabilities.empty is not valid"
+
+    def __repr__(self):
+        return "Role(capabilities=%s, timeValidity=%s, performer=%s)" % (self.capabilities, self.timeValidity, self.performer)
+
     def __eq__(self, obj):
         if self is obj:
             return True