[Zope-dev] Required final newline in Script (Python) in Zope 2.4.3
Hi people I'm moving an app to Zope 2.4.3, and one thing I've discovered is that methods that don't end with a final newline are invalid:: Script line 13 REQUEST.RESPONSE.redirect(url) ^ SyntaxError: invalid syntax If I go press return after the ), everything is fine. Is this a feature? An inevitability? Is it Good For Me? Regards, Jean Jordaan ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Required final newline in Script (Python) in Zope 2.4.3
From: Jean Jordaan [EMAIL PROTECTED] I'm moving an app to Zope 2.4.3, and one thing I've discovered is that methods that don't end with a final newline are invalid:: Is this a feature? An inevitability? Is it Good For Me? That is a bug. There's no reason for such behaviour. Except for some lazy ;-) programmer doing:: for line in readlines: line = line[:-1] without checking if there is a non empty line in the end. regards Max M ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Bravery Zope 2.5 Testers
Matthew T. Kromer wrote: [EMAIL PROTECTED]">Harald Koschinski wrote: Matthew T. Kromer wrote: OK, I am formulating a hypothesis that if you replace ExtensionClass.h in Zope 2.4 and Zope 2.5 with the following one: http://cvs.zope.org/~checkout~/Zope/lib/Components/ExtensionClass/src/ExtensionClass.h?rev=1.16.140.2content-type=text/plain (Which goes in lib/Components/ExtensionClass/src/ExtensionClass.h btw) and rebuild zope python2.1 wo_pcgi.py and rebuld any other modules you may have which depend on extension class that some of the segfaults could go away. I have one person testing this right now, and am looking for others to prove it. My System is very oft crashing - here is the log --- 2001-12-03T13:54:09 ERROR(200) zdaemon zdaemon: Mon Dec 3 14:54:09 2001: Aiieee! 24162 exited with error code: 11 2001-12-04T06:49:04 ERROR(200) zdaemon zdaemon: Tue Dec 4 07:49:04 2001: Aiieee! 21743 exited with error code: 11 2001-12-04T06:50:52 ERROR(200) zdaemon zdaemon: Tue Dec 4 07:50:52 2001: Aiieee! 27028 exited with error code: 11 2001-12-04T06:51:15 ERROR(200) zdaemon zdaemon: Tue Dec 4 07:51:15 2001: Aiieee! 27083 exited with error code: 11 2001-12-04T06:51:45 ERROR(200) zdaemon zdaemon: Tue Dec 4 07:51:45 2001: Aiieee! 27118 exited with error code: 11 2001-12-04T06:53:36 ERROR(200) zdaemon zdaemon: Tue Dec 4 07:53:36 2001: Aiieee! 27154 exited with error code: 11 2001-12-04T06:54:23 ERROR(200) zdaemon zdaemon: Tue Dec 4 07:54:23 2001: Aiieee! 27228 exited with error code: 11 2001-12-04T07:18:04 ERROR(200) zdaemon zdaemon: Tue Dec 4 08:18:04 2001: Aiieee! 27260 exited with error code: 11 2001-12-04T07:38:51 ERROR(200) zdaemon zdaemon: Tue Dec 4 08:38:51 2001: Aiieee! 27775 exited with error code: 11 2001-12-04T07:42:09 ERROR(200) zdaemon zdaemon: Tue Dec 4 08:42:09 2001: Aiieee! 28198 exited with error code: 11 2001-12-04T07:44:59 ERROR(200) zdaemon zdaemon: Tue Dec 4 08:44:59 2001: Aiieee! 28311 exited with error code: 11 2001-12-04T07:45:50 ERROR(200) zdaemon zdaemon: Tue Dec 4 08:45:50 2001: Aiieee! 28421 exited with error code: 11 2001-12-04T07:51:43 ERROR(200) zdaemon zdaemon: Tue Dec 4 08:51:43 2001: Aiieee! 28461 exited with error code: 11 2001-12-04T13:52:36 ERROR(200) zdaemon zdaemon: Tue Dec 4 14:52:36 2001: Aiieee! 2215 exited with error code: 11 2001-12-04T14:07:49 ERROR(200) zdaemon zdaemon: Tue Dec 4 15:07:49 2001: Aiieee! 15784 exited with error code: 11 2001-12-05T07:31:39 ERROR(200) zdaemon zdaemon: Wed Dec 5 08:31:39 2001: Aiieee! 20380 exited with error code: 11 2001-12-05T07:48:50 ERROR(200) zdaemon zdaemon: Wed Dec 5 08:48:50 2001: Aiieee! 21874 exited with error code: 11 2001-12-05T07:56:16 ERROR(200) zdaemon zdaemon: Wed Dec 5 08:56:16 2001: Aiieee! 22040 exited with error code: 11 2001-12-05T08:02:15 ERROR(200) zdaemon zdaemon: Wed Dec 5 09:02:15 2001: Aiieee! 22131 exited with error code: 11 2001-12-05T08:03:26 ERROR(200) zdaemon zdaemon: Wed Dec 5 09:03:26 2001: Aiieee! 22240 exited with error code: 11 2001-12-05T08:10:29 ERROR(200) zdaemon zdaemon: Wed Dec 5 09:10:29 2001: Aiieee! 22281 exited with error code: 11 2001-12-05T08:11:06 ERROR(200) zdaemon zdaemon: Wed Dec 5 09:11:06 2001: Aiieee! 22417 exited with error code: 11 2001-12-05T08:41:42 ERROR(200) zdaemon zdaemon: Wed Dec 5 09:41:42 2001: Aiieee! 22445 exited with error code: 11 2001-12-05T09:24:19 ERROR(200) zdaemon zdaemon: Wed Dec 5 10:24:19 2001: Aiieee! 22886 exited with error code: 11 2001-12-05T10:18:56 ERROR(200) zdaemon zdaemon: Wed Dec 5 11:18:56 2001: Aiieee! 23468 exited with error code: 11 2001-12-05T11:02:32 ERROR(200) zdaemon zdaemon: Wed Dec 5 12:02:32 2001: Aiieee! 24061 exited with error code: 11 2001-12-05T11:45:35 ERROR(200) zdaemon zdaemon: Wed Dec 5 12:45:35 2001: Aiieee! 24940 exited with error code: 11 2001-12-05T12:48:49 ERROR(200) zdaemon zdaemon: Wed Dec 5 13:48:49 2001: Aiieee! 25060 exited with error code: 11 2001-12-05T13:16:23 ERROR(200) zdaemon zdaemon: Wed Dec 5 14:16:23 2001: Aiieee! 25837 exited with error code: 11 2001-12-05T13:24:00 ERROR(200) zdaemon zdaemon: Wed Dec 5 14:24:00 2001: Aiieee! 28674 exited with error code: 11 2001-12-05T13:31:58 ERROR(200) zdaemon zdaemon: Wed Dec 5 14:31:58 2001: Aiieee! 28822 exited with error code: 11 2001-12-05T13:40:20 ERROR(200) zdaemon zdaemon: Wed Dec 5 14:40:20 2001: Aiieee! 29166 exited with error code: 11 2001-12-05T14:48:50 ERROR(200) zdaemon zdaemon: Wed Dec 5 15:48:50 2001: Aiieee! 30233 exited with error code: 11 2001-12-06T07:48:48 ERROR(200) zdaemon zdaemon: Thu Dec 6 08:48:48 2001: Aiieee! 316 exited with error code: 11 2001-12-06T07:52:41 ERROR(200) zdaemon zdaemon: Thu Dec 6 08:52:41 2001: Aiieee! 552 exited with error code: 11
[Zope-dev] [IDEA] ZopeRoot and SiteRoot
This qualifies as: Yet another idea that I'm not sure deserves a fishbowl proposal yet, or is big enough to even need one. In making some recent changes to the Application.py module in Zope which houses the class for the Zope Root Folder, it occurred to me that I could solve an issue that has bugged me for a while: You have to use the silly REQUEST.PARENTS[-1] to get the darn Root Folder inside Zope. Now unless something has been done about this that I'm not aware of, this is still true. Assuming that here is my idea: Add a method to the Root Folder, ZopeRoot, which returns the Root Folder. This would work: def ZopeRoot(self): Return Thyself return self This would go along with ZopeTime and always be available in the general namespace for folks to use. Another idea also struck me. That SiteRoot should also be a callable object (if it exists) returning the Root folder of the sub-site. Now this may already be the case, but if not I thought it might be worthwhile. Thoughts? /---\ Casey Duncan, Sr. Web Developer National Legal Aid and Defender Association [EMAIL PROTECTED] \---/ ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
RE: [Zope-dev] Re: User Groups
A role is essentially a group. I think the general consensus is that a role is not essentially a group although the two can be easily confused ;-) If you have a role, you're in a group - the group of all people with that role. My apologies for having included the world in my reply. I was thinking that I was replying to a more limited group. You must have used the wrong role ;) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot
getPhysicalRoot already exists, and returns the top-level app object when called from any Zope object. - Original Message - From: Lennart Regebro [EMAIL PROTECTED] To: Casey Duncan [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Monday, December 17, 2001 11:48 AM Subject: Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot From: Casey Duncan [EMAIL PROTECTED] Now unless something has been done about this that I'm not aware of, this is still true. Assuming that here is my idea: Add a method to the Root Folder, ZopeRoot, which returns the Root Folder. This would work: def ZopeRoot(self): Return Thyself return self This would go along with ZopeTime and always be available in the general namespace for folks to use. Another idea also struck me. That SiteRoot should also be a callable object (if it exists) returning the Root folder of the sub-site. Now this may already be the case, but if not I thought it might be worthwhile. Well, these things should be done together. What is needed is a complete set of functions for getting the objects path, URL sitename and root, both with and without SiteRoot/VHM. And the virtual functions should work by asking the SiteRoot/VHM for the information, instead of as today getting the information from the request, since you may want to find out the virtual path of objects in another part of the site that has another virtual root than the object you are calling from does. For example, like this: getPhysicalPath()would return ('', 'site', 'folder', 'foo', 'bar') getPhysicalURL()would return '/site/folder/foo/bar/' Note the ending slash getPhysicalHost()would return 'http://real.domain.com' Note the absence of an ending slash getPhysicalRootObj()Returns the object that is your root, in this case the root. getVirtualPath()would return ('', 'folder', 'foo', 'bar') getVirtualURL()would return '/folder/foo/bar/' Note the ending slash getVirtualHost()would return 'http://virtual.domain.com' Note the absence of an ending slash getVirtualRootObj()Returns the object that is your root, in this case the object called /site. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot
On Monday 17 December 2001 12:20 pm, Chris McDonough allegedly wrote: getPhysicalRoot already exists, and returns the top-level app object when called from any Zope object. You know I had a sneaking suspicion that this existed somewhere, which is why I didn't go ahead and fishify it. Thanks for pointing that out. Is there a comparable all to get the site root? /---\ Casey Duncan, Sr. Web Developer National Legal Aid and Defender Association [EMAIL PROTECTED] \---/ ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot
Well, these things should be done together. What is needed is a complete set of functions for getting the objects path, URL sitename and root, both with and without SiteRoot/VHM. And the virtual functions should work by asking the SiteRoot/VHM for the information, instead of as today getting the information from the request, since you may want to find out the virtual path of objects in another part of the site that has another virtual root than the object you are calling from does. FYI most of what you're proposing already exists in CMF (using portal_url), it's only a matter of time before it's folded back into Zope (Zope 3 :-). Florent -- Florent Guillaume, Nuxeo (Paris, France) +33 1 40 33 79 10 http://nuxeo.com mailto:[EMAIL PROTECTED] ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot
On Monday 17 December 2001 12:45 pm, Florent Guillaume allegedly wrote: Well, these things should be done together. What is needed is a complete set of functions for getting the objects path, URL sitename and root, both with and without SiteRoot/VHM. And the virtual functions should work by asking the SiteRoot/VHM for the information, instead of as today getting the information from the request, since you may want to find out the virtual path of objects in another part of the site that has another virtual root than the object you are calling from does. FYI most of what you're proposing already exists in CMF (using portal_url), it's only a matter of time before it's folded back into Zope (Zope 3 :-). Florent That's the general idea. Except that somebody has to actually do it. 8^) /---\ Casey Duncan, Sr. Web Developer National Legal Aid and Defender Association [EMAIL PROTECTED] \---/ ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot
Hmm... no, I dont think there's a call to get the virtual root. Although I imagine it would be pretty simple to add. - Original Message - From: Casey Duncan [EMAIL PROTECTED] To: Chris McDonough [EMAIL PROTECTED]; Lennart Regebro [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Monday, December 17, 2001 12:45 PM Subject: Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot On Monday 17 December 2001 12:20 pm, Chris McDonough allegedly wrote: getPhysicalRoot already exists, and returns the top-level app object when called from any Zope object. You know I had a sneaking suspicion that this existed somewhere, which is why I didn't go ahead and fishify it. Thanks for pointing that out. Is there a comparable all to get the site root? /---\ Casey Duncan, Sr. Web Developer National Legal Aid and Defender Association [EMAIL PROTECTED] \---/ ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [IDEA] ZopeRoot and SiteRoot
From: Chris McDonough [EMAIL PROTECTED] Hmm... no, I dont think there's a call to get the virtual root. Although I imagine it would be pretty simple to add. Yes it is. This works with SiteAccessEnhanced (where EASY_VHM has to be the name if the host monster) security.declarePublic('getVirtualRootPath') def getVirtualRootPath(self): req = self.REQUEST rpp = req.get('VirtualRootPhysicalPath', None) if rpp is None: vhm = getattr(self, EASY_VHM, None) if vhm is None: return ('',) else: rules = vhm.display_rules() physical_path = self.getPhysicalPath() best_match = ('',) for domain,path in rules: match_path = path = split(path,'/') if len(path)=len(physical_path): index = 0 for pid in path: if physical_path[index]!=pid: match_path = None break index = index + 1 if match_path != None: if len(match_path) len(best_match): best_match = match_path return tuple(best_match) return rpp And when you have the path you can get the object. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] PDF from Printable Page
Hi, I'm looking for a way to get a PDF from a Printable Page. I thought of the ZpdfDocument as a base for this kind of issue. Has anybody some experience in resolving this issue ? Regards, Dirk ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] disabling gc does not necessarily hide memory corruption
On Mon, 2001-12-17 at 20:57, Jeremy Hylton wrote: MTK == Matthew T Kromer [EMAIL PROTECTED] writes: MTK A side effect of shutting off the garbage collector is that you MTK can have some storage leaks. We're working on being able to MTK re-enable the garbage collector so that you don't exhaust MTK memory over time. Do you have any more idea about what shutting the garbage collector off achieves? In practice, the garbage collector's most common effect is to turn latent bugs into manifest bugs; a bug has trashed part of memory and the garbage collector just happens to find it first. If you turn GC off in these cases, you run a little longer, but you're running with corrupted memory. Not if the problem you're facing is bad colaboration with the cycle-gc. As can be gleaned from discussions in this list, the nature of the changes in ExtensionClass.h and the problem report on sourceforge mentioned in another e-mail in this list, colaboration with the cycle-gc is an active duty for Python objects written in C (or their derivatives, such as ExtensionClass por PythonScripts), and if you colaborate wrongly with the cycle-gc you are garanteed to get a crash, and worse of all, in the most random moments possible, with no clue as to what caused it. From my mile-high look at the issues, it seems like the cycle-gc asks for an object where to look for for it's references (at least thats what the tp_traverse function looks like it does). So, if your tp_traverse sends the gc somewhere it shouldn't go (or if tp_traverse itself is not some C function pointer), you get a crash. Of course I could be absolutely wrong in this description (you'd need to get a python guru for a correct one. Oh, wait, you guys got a bunch of those hanging around, right? :-)) but it is the only one I got :-) BTW, from my tests so far, it seems like: import gc gc.disable() also stops the SIG11 without the need of a python recompile, but I'll only be sure when the server gets office-hours-traffic tomorrow morning. Cheers, -- Ideas don't stay in some minds very long because they don't like solitary confinement. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] disabling gc does not necessarily hide memory corruption
Chris McDonough wrote This behavior is with the patches to the compiler package that were the genesis of this thread? No, prior to that. I posted something about it to zope-dev an age or six ago - it seemed like the RestrictedPython compiler had mungo mungo numbers of cycles, and we found we couldn't run a zeo client on a nogc python for more than about an hour. ah - here's the message I sent: Date:Wed, 17 Oct 2001 18:10:27 +1000 To: [EMAIL PROTECTED] From:Anthony Baxter [EMAIL PROTECTED] Subject: RestrictedPython under no-GC 2.1 seems to leak a hell of a lot. Running current Zope 2.4 CVS under python 2.1 built --without-cycle-gc, I'm seeing an absolutely _enormous_ amount of leaked objects in RestrictedPython. This is on one of our ZEO clients, after 45 minutes of runtime. The deltas are after 5 minutes. RestrictedPython.compiler.transformer.Transformer 146527 163546 +17019 RestrictedPython.compiler.visitor.ASTVisitor 55842 62333 +6491 RestrictedPython.compiler.misc.Set 34827 38843 +4016 RestrictedPython.compiler.pyassem.FlowGraph 19173 21413 +2240 RestrictedPython.compiler.ast.Stmt 19174 21390 +2216 RestrictedPython.compiler.pycodegen.CodeGenerator 18333 20486 +2153 RestrictedPython.compiler.symbols.SymbolVisitor 15303 17096 +1793 RestrictedPython.compiler.ast.Name 13917 15542 +1625 RestrictedPython.compiler.ast.Const 14083 15691 +1608 RestrictedPython.compiler.ast.CallFunc 13798 15405 +1607 RestrictedPython.MutatingWalker.MutatingWalker 11968 13360 +1392 RestrictedPython.compiler.ast.Return 11986 13371 +1385 RestrictedPython.compiler.ast.Function 11986 13371 +1385 RestrictedPython.RestrictionMutator.RestrictionMutator 11800 13166 +1366 RestrictedPython.compiler.pycodegen.LocalNameFinder 11028 12322 +1294 RestrictedPython.compiler.pyassem.Block 10226 11401 +1175 RestrictedPython.compiler.pyassem.PyFlowGraph 9587 10707 +1120 RestrictedPython.compiler.misc.Stack 9587 10703 +1116 RestrictedPython.compiler.ast.Module 9590 10698 +1108 RestrictedPython.compiler.ast.Global 5761 6433 +672 RestrictedPython.compiler.ast.Assign 5761 6433 +672 RestrictedPython.compiler.ast.AssName 5761 6433 +672 [] ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] disabling gc does not necessarily hide memory corruption
Ah ok... yeah, there were reportedly several leaks in the compiler stuff that have been fixed in CVS. I imagine that's what this is. Anthony Baxter wrote: Chris McDonough wrote This behavior is with the patches to the compiler package that were the genesis of this thread? No, prior to that. I posted something about it to zope-dev an age or six ago - it seemed like the RestrictedPython compiler had mungo mungo numbers of cycles, and we found we couldn't run a zeo client on a nogc python for more than about an hour. ah - here's the message I sent: Date:Wed, 17 Oct 2001 18:10:27 +1000 To: [EMAIL PROTECTED] From:Anthony Baxter [EMAIL PROTECTED] Subject: RestrictedPython under no-GC 2.1 seems to leak a hell of a lot. Running current Zope 2.4 CVS under python 2.1 built --without-cycle-gc, I'm seeing an absolutely _enormous_ amount of leaked objects in RestrictedPython. This is on one of our ZEO clients, after 45 minutes of runtime. The deltas are after 5 minutes. RestrictedPython.compiler.transformer.Transformer 146527 163546 +17019 RestrictedPython.compiler.visitor.ASTVisitor 55842 62333 +6491 RestrictedPython.compiler.misc.Set 34827 38843 +4016 RestrictedPython.compiler.pyassem.FlowGraph 19173 21413 +2240 RestrictedPython.compiler.ast.Stmt 19174 21390 +2216 RestrictedPython.compiler.pycodegen.CodeGenerator 18333 20486 +2153 RestrictedPython.compiler.symbols.SymbolVisitor 15303 17096 +1793 RestrictedPython.compiler.ast.Name 13917 15542 +1625 RestrictedPython.compiler.ast.Const 14083 15691 +1608 RestrictedPython.compiler.ast.CallFunc 13798 15405 +1607 RestrictedPython.MutatingWalker.MutatingWalker 11968 13360 +1392 RestrictedPython.compiler.ast.Return 11986 13371 +1385 RestrictedPython.compiler.ast.Function 11986 13371 +1385 RestrictedPython.RestrictionMutator.RestrictionMutator 11800 13166 +1366 RestrictedPython.compiler.pycodegen.LocalNameFinder 11028 12322 +1294 RestrictedPython.compiler.pyassem.Block 10226 11401 +1175 RestrictedPython.compiler.pyassem.PyFlowGraph 9587 10707 +1120 RestrictedPython.compiler.misc.Stack 9587 10703 +1116 RestrictedPython.compiler.ast.Module 9590 10698 +1108 RestrictedPython.compiler.ast.Global 5761 6433 +672 RestrictedPython.compiler.ast.Assign 5761 6433 +672 RestrictedPython.compiler.ast.AssName 5761 6433 +672 [] -- Chris McDonoughZope Corporation http://www.zope.org http://www.zope.com Killing hundreds of birds with thousands of stones ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )