Tim Cook wrote:
On Thu, 2008-07-03 at 14:20 -0500, Larry Bates wrote:
I suspect there is some "misunderstanding" here. Why exactly do you think you
need to have your instances named with [] characters in them?
I often misunderstand. :-)
But, I am implementing specifications in Python that are already
implemented in other languages.
http://www.openehr.org/releases/1.0.1/roadmap.html
These specifications say that an archetype node id consists of
identifiers like [at0000] and [at0001]. Now these are valid URIs and
the associated query language (AQL) used by other services will send
queries with those characters in them.
For example:
FROM EHR [ehr_id/value=$ehrUid] CONTAINS COMPOSITION
[openEHR-EHR-COMPOSITION.encounter.v1]
CONTAINS OBSERVATION obs [openEHR-EHR-OBSERVATION.blood_pressure.v1]
WHERE
obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value
= 140
Since I am also using Zope3 it would be easier on me to name the
instances with those characters.
But my fall back is to set at0000.__name__='[at0000]' and manipulate the
query to match __name__ instead of the actual instance ID.
Thoughts?
--Tim
If these will be class attributes, I believe you can use setattr()
setattr('[at0000]') = ...
obj = getattr(self, '[at0000]')
-Larry
--
http://mail.python.org/mailman/listinfo/python-list