Re: Python: "dynamische" Klassenvariablen?
Peter Zechmeister <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <1265268696.7593.34.camel@pze> |
Am Mittwoch, den 03.02.2010, 17:26 +0100 schrieb Jens W. Klein:
> Am Mittwoch, den 03.02.2010, 16:50 +0100 schrieb Peter Zechmeister:
> > Hallo,
> >
> > ich schreibe gerade an einem Produkt für Zope. Es hat einige ZPTs, die
> > ich im Products/zpt-Verzeichnis haben möchte und beim Erstellen einer
> > Instanz _nicht_ in der ZODB haben will.
> > Ich denke, das würde in etwa so gehen:
> >
> > class TestClass(Implicit, Persistent, RoleManager, Item):
> > [...]
> > zptA=PageTemplateFile('zpt/zptA.htm', globals())
> > zptB=PageTemplateFile('zpt/zptB.htm', globals())
> > zptC=PageTemplateFile('zpt/zptC.htm', globals())
> > [...]
>
> So ganz grob:
>
> import os
>
> class Test (...):
> zpt = {}
>
> # im Module danach
> dir = os.path.join(os.path.dirname(__file__), 'zpt')
> for filename in os.listdir(dir):
> name = mach_sinnvoll_aus_file_namen_einen_key(file)
> filepath = os.path.join(dir, filename)
> TestClass.zpt[name] = PageTemplateFile(filepath)
Ah! Danach!
und warum muss ich da zuerst das
zpt = {}
machen?
warum nicht danach überhaupt nur:
TestClass[name] = PageTemplateFile(filepath)
?
So sollten die ZPT-Ids direkt im Namespace der Klasse landen.
mit dem zpt=... dazwischen, landet ja nur das zpt-dict im Namespace und
ich kann die zpts nicht direkt aufrufen, oder?
An das mit der Security hab ich übrigends schon gedacht, habs hier nur
nicht erwähnt ;-)
Grü
PZ
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope