|
From: Tim Cook on 3 Jul 2008 14:26 Hi All, I have a need (if at all possible) to create instance names using '[' and ']', i.e. [at0000]=ClassA0(), [at0001]=ClassB2(), etc. Of course Python tries to unpack a sequence when I do that. Is there anyway to do this? I do have a workaround but it is an ugly, nasty URL mangling thing. :-) Cheers, Tim -- Timothy Cook, MSc Health Informatics Research & Development Services LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook Skype ID == timothy.cook ************************************************************** *You may get my Public GPG key from popular keyservers or * *from this link http://timothywayne.cook.googlepages.com/home* **************************************************************
From: Larry Bates on 3 Jul 2008 15:20 Tim Cook wrote: > Hi All, > > I have a need (if at all possible) to create instance names using '[' > and ']', i.e. [at0000]=ClassA0(), [at0001]=ClassB2(), etc. > > Of course Python tries to unpack a sequence when I do that. Is there > anyway to do this? > > I do have a workaround but it is an ugly, nasty URL mangling thing. :-) > > Cheers, > Tim > > > I suspect there is some "misunderstanding" here. Why exactly do you think you need to have your instances named with [] characters in them? You could put them in a dictionary: instances = {} instance['[at0000']] = ClassA0() but that isn't really different than: instance['at0000'] = ClassA0() -Larry
From: Tim Cook on 3 Jul 2008 16:05 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 -- Timothy Cook, MSc Health Informatics Research & Development Services LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook Skype ID == timothy.cook ************************************************************** *You may get my Public GPG key from popular keyservers or * *from this link http://timothywayne.cook.googlepages.com/home* **************************************************************
From: Larry Bates on 3 Jul 2008 16:14 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
|
Pages: 1 Prev: imap4_SSL from behind a proxy server Next: controlling the windows |