Hi,
I've been working on some very lightweight content types that differ
minimally from each other so I'd like to use attributes rather than
different classes. I've come across a couple of problems while working
on this: if I put the attributes into the factory I need to make my
basic object into a callable because it gets called when the factory
gets registered.
Currently I have something like this:
class SpecialDocument:
def __init__(self, **kw):
pass
def __call__(self, text_type=None):
self.text_type = text_type
HTMLDocFactory = Factory(SpecialDocument(text_type='text/html')
PlainTextDocFactory = Factory(SpecialDocument(text_type='text/plain')
This is extended with additional registrations of the content class
with additional meta_types.
This seems to be the most minimal configuration I can use and seems
reasonably Pythonic but I'm worried about unexpected side effects and
whether there is a different way of doing this, ie. using local
utilities as these content types are going to be site specific. I was
going to try this approach (similar to the KitchenTools example in
Philip's book) but wasn't sure about some of the other things I was
going to need.
Comments much appreciated.
On a personal note: over this last month, thanks to the list but also
to Philip's and Martin's books I've really started to understand and
appreciate the Zope 3 approach to stuff: it has a great deal of
elegance even if it takes a while to get used to!
Charlie
--
Charlie Clark
Helmholtzstr. 20
Düsseldorf
D- 40215
Tel: +49-211-938-5360
GSM: +49-178-782-6226
_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf
See http://collector.zope.org/CMF for bug reports and feature requests