Re: Python: "dynamische" Klassenvariablen?
"Jens W. Klein" <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Organization | Klein & Partner KEG, BlueDynamics Alliance |
| Message-ID | <1265275278.4663.32.camel@minime> |
Am Donnerstag, den 04.02.2010, 08:31 +0100 schrieb Peter Zechmeister:
> 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)
Dünkt mir seltsam so. Das ist ja das Zope Container (OFS SimpleFolder
iirc) verhalten, was Du da nehmen willst. Ich würde das nicht machen
wollen, aber probiers mal, wenn es funktioniert ist gut.
Ich würde das eh mit Views lösen und das Old-Style Zeugs weglassen. Aber
das war ja nicht die Fragestellung.
lg Jens
> ?
> 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
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope