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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.