Re: [Zope3-Users] Periodically refresh RSS feeds
Hi, Florian Lindner wrote: > Hello, > I have the following situation: > > An object represents an RSS feed. It should be updated like every 20 minutes. > If there is something new a Jabber message should be send out. > > Currently I have it implemented with an scheduler loop that emits an > refreshRSSFeed event evey 20 minutes. My problem is that a handler for an > event must be a static function, but I want a handler function to be called > as a member of every instantiated RSS feed object. > > Another idea I have: > Implement an utility where the RSS feeds could register a function that is > called every 20 minutes. > Another way would be that this utility takes an URL and monitors the URL for > changes and only notifies the RSS Feed object in case of a change. > > How would you do that? So there's two problems here: scheduling and notifying persistent objects about an event. I don't have a good idea about the scheduling right now, except the hint that using a 'zopectl run' script might be worthwhile. I'm not sure what a 'scheduler function is'. About notifying persistent objects: There is a method 'getAllUtilitiesRegisteredFor(interface)' which might help you. Have a look at zope/app/catalog/catalog.py beginning from line 150 (indexDocSubscriber) how the catalog handles events and dispatches them to multiple catalogs. I think this pretty much matches your use case if you make each RSS feed a (named) utility. Of course you could also have a utility that maintains references to all RSS feed objects and simply loops over them and calls a method for refreshing. Christian -- gocept gmbh & co. kg - forsterstraße 29 - 06112 halle/saale - germany www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 - fax +49 345 122 9889 1 - zope and plone consulting and development signature.asc Description: OpenPGP digital signature ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
Re: [Zope3-Users] Re: zope 3.3 on windows can't create pages
Hi, Robert Hicks wrote: > Any ideas when a 2.4.4 version will be out? That will be Zope 3.3.1 and that should happen until early January 07. Christian -- gocept gmbh & co. kg - forsterstraße 29 - 06112 halle/saale - germany www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 - fax +49 345 122 9889 1 - zope and plone consulting and development signature.asc Description: OpenPGP digital signature ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
Re: [Zope3-Users] readline() takes exactly 1 argument
Hi, George Wright wrote: > Trying to get started on Zope3 but frustrated by a couple of barriers: > > Barrier 1. > Added a folder. Added a ZPT Page (As in Zope3 Developer's Book page > 12). > Then get system error message: > Traceback (most recent call last): >Module zope.publisher.publish, line 126, in publish > request.processInputs() >Module zope.publisher.browser, line 263, in processInputs > fs = FieldStorage(fp=fp, environ=self._environ, > keep_blank_values=1) >Module cgi, line 530, in __init__ > self.read_multi(environ, keep_blank_values, strict_parsing) >Module cgi, line 650, in read_multi > environ, keep_blank_values, strict_parsing) >Module cgi, line 532, in __init__ > self.read_single() >Module cgi, line 665, in read_single > self.read_lines() >Module cgi, line 687, in read_lines > self.read_lines_to_outerboundary() >Module cgi, line 715, in read_lines_to_outerboundary > line = self.fp.readline(1<<16) > TypeError: readline() takes exactly 1 argument (2 given) This looks like a known incompatibility with Python 2.4.4. (If you're interested in the details, see http://www.zope.org/Collectors/Zope3-dev/535) > I did a search of archives and found references to a patch of http.py > and tales of success in solving the same problem: > > Yes. Apply this patch to the zope3-sources: > > /http.py > --- src/zope/publisher/http.py.old 2006-10-04 15:11:04.0 +0200 > +++ src/zope/publisher/http.py 2006-10-04 15:11:04.0 +0200 > @@ -205,7 +205,7 @@ > return data > > def readline(self,size=None): > -data = self.stream.readline(size) > +data = self.stream.readline() > self.cacheStream.write(data) > return data This is a standard patch format and there is a utility that can apply this patch for you automatically. The patch is made for a checkout and maybe also works on the source distribution for Zope 3.3 You should be able to store that patch in a file, e.g. called 'patchname.patch' and then run 'patch -p0 < patchname.patch' in your terminal. (I guess MacOS X comes with patch by default.) Watch out for messages saying "Hunk X out of X FAILED" though. Then reinstall your Zope server using make install, that should get your installation directory updated with the right file. > BUT I'm not sure what to do with it! What do the little - and + in > front of the "data = " lines mean? And the "@@ -205,7 +205,7 @@" ? > > Just which http.py is to be patched? > ~/Zope-3.3.0/build/lib.macosx-10.3-fat-2.4/zope/publisher/http.py > OR > ~/Zope-3.3.0/build/lib.darwin-8.8.0-Power_Macintosh-2.4/zope/ > publisher/http.py > OR ? This looks like you did 'make' in your Zope-3.3.0 directory multiple times on different versions of your operating system. Or this is an idiom specific to Python on Mac OS X. > Maybe this problem has been fixed in a later version? It's not yet fixed finally, but if you watch the bug that I posted above, you should be able to The bugfix release should be available in early Januar 07. Christian -- gocept gmbh & co. kg - forsterstraße 29 - 06112 halle/saale - germany www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 - fax +49 345 122 9889 1 - zope and plone consulting and development signature.asc Description: OpenPGP digital signature ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
[Zope3-Users] Re: zope 3.3 on windows can't create pages
Dominique Lederer wrote: Anton schrieb: Adam Groszer wrote: Hello Anton, That's a small incompatibility between python 2.4.4 and Zope 3.3. You can use python 2.4.3 to work around that. The fix for Zope is there but only in the svn yet. Hi Adam, Do you have any hint what file is affected (if its only one or two lines to tweak it would be faster than to reinstall 2.4.3) If its a whole bunch of files, ... then of courxe ... forget it :-) Anton take a look at http://mail.zope.org/pipermail/zope3-users/2006-October/004742.html and http://www.zope.org/Collectors/Zope3-dev/535 cheers Dominique Any ideas when a 2.4.4 version will be out? Robert ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
[Zope3-Users] Periodically refresh RSS feeds
Hello, I have the following situation: An object represents an RSS feed. It should be updated like every 20 minutes. If there is something new a Jabber message should be send out. Currently I have it implemented with an scheduler loop that emits an refreshRSSFeed event evey 20 minutes. My problem is that a handler for an event must be a static function, but I want a handler function to be called as a member of every instantiated RSS feed object. Another idea I have: Implement an utility where the RSS feeds could register a function that is called every 20 minutes. Another way would be that this utility takes an URL and monitors the URL for changes and only notifies the RSS Feed object in case of a change. How would you do that? Thanks, Florian ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
Re: [Zope3-Users] readline() takes exactly 1 argument
George Wright wrote: > Apply this patch to the zope3-sources: > > /http.py > --- src/zope/publisher/http.py.old 2006-10-04 15:11:04.0 +0200 > +++ src/zope/publisher/http.py 2006-10-04 15:11:04.0 +0200 > @@ -205,7 +205,7 @@ > return data > > def readline(self,size=None): > -data = self.stream.readline(size) > +data = self.stream.readline() > self.cacheStream.write(data) > return data > > BUT I'm not sure what to do with it! What do the little - and + in > front of the "data = " lines mean? And the "@@ -205,7 +205,7 @@" ? Remove the '-' line, replace it with the '+' line. > > Just which http.py is to be patched? > ~/Zope-3.3.0/build/lib.macosx-10.3-fat-2.4/zope/publisher/http.py > OR > ~/Zope-3.3.0/build/lib.darwin-8.8.0-Power_Macintosh-2.4/zope/publisher/http.py > OR ? Both if need be - but definitely in your runtime path. > Should I be able to call zope from within terminal? > I can get interface ( probably because it is part of my twisted > installation which is OK) > But I can't get other zope stuff. cd to your zope INSTANCE_HOME, then you can invoke the python interpreter with either of: ./bin/zopectl debug or ./bin/debugzope This will add zope (and $INSTANCE_HOME/lib/python) to your python path and process all the zcml files. It will also add 'app' to your python session... >>> app >>> app.root() >>> list(app.root()) [u'Folder1', u'Folder2'] >>> from zope import schema >>> dir(schema) ['ASCII', 'ASCIILine', 'Bool', 'Bytes', 'BytesLine', 'Choice', 'Container', 'Date', 'Datetime', 'Dict', 'DottedName', 'Field', 'Float', 'FrozenSet', 'Id', 'Int', 'InterfaceField', 'Iterable', 'List', 'MinMaxLen', 'Object', 'Orderable', 'Password', 'Set', 'SourceText', 'Text', 'TextLine', 'Timedelta', 'Tuple', 'URI', 'ValidationError', '__builtins__', '__doc__', '__file__', '__name__', '__path__', '_bootstrapfields', '_bootstrapinterfaces', '_field', '_schema', 'accessors', 'fieldproperty', 'getFieldNames', 'getFieldNamesInOrder', 'getFields', 'getFieldsInOrder', 'interfaces', 'vocabulary'] ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
[Zope3-Users] readline() takes exactly 1 argument
Trying to get started on Zope3 but frustrated by a couple of barriers: Barrier 1. Added a folder. Added a ZPT Page (As in Zope3 Developer's Book page 12). Then get system error message: Traceback (most recent call last): Module zope.publisher.publish, line 126, in publish request.processInputs() Module zope.publisher.browser, line 263, in processInputs fs = FieldStorage(fp=fp, environ=self._environ, keep_blank_values=1) Module cgi, line 530, in __init__ self.read_multi(environ, keep_blank_values, strict_parsing) Module cgi, line 650, in read_multi environ, keep_blank_values, strict_parsing) Module cgi, line 532, in __init__ self.read_single() Module cgi, line 665, in read_single self.read_lines() Module cgi, line 687, in read_lines self.read_lines_to_outerboundary() Module cgi, line 715, in read_lines_to_outerboundary line = self.fp.readline(1<<16) TypeError: readline() takes exactly 1 argument (2 given) I did a search of archives and found references to a patch of http.py and tales of success in solving the same problem: Yes. Apply this patch to the zope3-sources: /http.py --- src/zope/publisher/http.py.old 2006-10-04 15:11:04.0 +0200 +++ src/zope/publisher/http.py 2006-10-04 15:11:04.0 +0200 @@ -205,7 +205,7 @@ return data def readline(self,size=None): -data = self.stream.readline(size) +data = self.stream.readline() self.cacheStream.write(data) return data BUT I'm not sure what to do with it! What do the little - and + in front of the "data = " lines mean? And the "@@ -205,7 +205,7 @@" ? Just which http.py is to be patched? ~/Zope-3.3.0/build/lib.macosx-10.3-fat-2.4/zope/publisher/http.py OR ~/Zope-3.3.0/build/lib.darwin-8.8.0-Power_Macintosh-2.4/zope/ publisher/http.py OR ? Maybe this problem has been fixed in a later version? Barrier 2: Should I be able to call zope from within terminal? I can get interface ( probably because it is part of my twisted installation which is OK) But I can't get other zope stuff. george-g5:~ georgewright$ python Python 2.4.4 (#1, Oct 18 2006, 10:34:39) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from zope import interface >>> from zope import schema Traceback (most recent call last): File "", line 1, in ? ImportError: cannot import name schema >>> from zope import component Traceback (most recent call last): File "", line 1, in ? ImportError: cannot import name component >>> Seems like there is a $PATH problem or $PYTHONPATH? Lots of other questions of course but maybe I will answer them for myself if I can get over these barriers! Thanks George Wright http://users.bigpond.net.au/George.Wright/ http://www.labyrinth.net.au/~gwright ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
[Zope3-Users] Zope 3 UML Model / Architecture
I am looking for examples of Zope 3 UML Diagrams / Architecture. I would be especially interested in widget / view rendering. (maybe even formlib) but also basic architecture. Dennis ___ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users