oship-dev team mailing list archive
-
oship-dev team
-
Mailing list archive
-
Message #01649
[Branch ~oship-dev/oship/devel] Rev 522: Bug #627557 fix. Implemented Resource Description class
------------------------------------------------------------
revno: 522
committer: Eduardo César <>
branch nick: local
timestamp: Sat 2010-12-11 21:42:46 -0200
message:
Bug #627557 fix. Implemented Resource Description class
modified:
src/oship/openehr/rm/common/resource/__init__.py
src/oship/openehr/rm/common/resource/interfaces.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/common/resource/__init__.py'
--- src/oship/openehr/rm/common/resource/__init__.py 2010-12-11 23:40:08 +0000
+++ src/oship/openehr/rm/common/resource/__init__.py 2010-12-11 23:42:46 +0000
@@ -103,4 +103,52 @@
class ResourceDescription(grok.Model):
u"""Defines the descriptive meta-data of a resource."""
- pass
+ grok.implements(IResourceDescription)
+
+ def __init__(self, orig_auth, other_contributors, lifecycle_state, details, resource_package_uri, other_details, parent_resource):
+ self.original_author = orig_auth
+ self.other_contributors = other_contributors
+ self.lifecycle_state = lifecycle_state
+ self.details = details
+ self.resource_package_uri = resource_package_uri
+ self.other_details = other_details
+ self.parent_resource = parent_resource
+
+ self.original_author_valid()
+ self.lifecycle_state_valid()
+ self.details_valid()
+ self.language_valid()
+ self.parent_resource_valid()
+
+ def original_author_valid(self):
+ if self.original_author is None or len(self.original_author) == 0:
+ raise ValueError(u'original_author /= Void and then not original_author.is_empty')
+
+ def lifecycle_state_valid(self):
+ if self.lifecycle_state is None or len(self.lifecycle_state) == 0:
+ raise ValueError(u'lifecycle_state /= Void and then not lifecycle_state.is_empty')
+
+ def details_valid(self):
+ if self.details is None or len(self.details) == 0:
+ raise ValueError(u'details /= Void and then not details.is_empty')
+
+ def language_valid(self):
+ if self.parent_resource is not None:
+ parent_languages = self.parent_resource.languagesAvailable()
+ for i in parent_languages:
+ if i is not None:
+ for res_item in self.details.keys():
+ if res_item.language.codeString == i.codeString:
+ return
+ raise ValueError("parent_resource /= Void implies details.for_all(d | parent_resource.languages_available.has(d.language.code_string))")
+
+ def parent_resource_valid(self):
+ if self.parent_resource is not None:
+ try:
+ self.parent_resource.description = self
+ except:
+ raise ValueError("parent_resource /= Void implies parent_resource.description = Current")
+
+
+
+
=== modified file 'src/oship/openehr/rm/common/resource/interfaces.py'
--- src/oship/openehr/rm/common/resource/interfaces.py 2010-08-06 21:24:11 +0000
+++ src/oship/openehr/rm/common/resource/interfaces.py 2010-12-11 23:42:46 +0000
@@ -110,7 +110,8 @@
required=True
)
- details=Dict(
+ details=Object(
+ schema=IResourceDescriptionItem,
title=_(u'Details'),
description=_(u""""""),
required=True
@@ -127,9 +128,7 @@
description=_(u""""""),
required=False
)
-
- parentResource=Attribute(u'Parent Resource')
-
+
class IAuthoredResource(Interface):
u"""Abstract idea of an online resource created by a human author. """
@@ -173,3 +172,11 @@
u"""
Derived from originalLanguage and translations.
"""
+
+
+IResourceDescription.parentResource = Object (
+ schema = IAuthoredResource,
+ title=_(u'Parent Resource'),
+ description=_(""),
+ required=False
+ )