Re: [Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]
Romain Slootmaekers wrote: Hi, below the original post: it is a bug in Products/Localizer/Accept.py here's the code to fix it: #--- code fix starting from line 102 --- # Get the quality try: if len(x) == 2: quality = x[1]# Get the quality quality =quality.strip() quality = quality[2:] # Get the number (remove "q=") quality = float(quality) # Change it to float else: quality = 1.0 except: quality=1.0 #--- end of code fix --- I added a strip() and a try/except for other things that can go wrong. This way Nokia Wap surfers can access your site while Localizer is installed. have fun, Sloot. BTW, exceptions that originate here are not caught in the error_log. this is probably unintended as well. - original post - Hi, We have problems with the Accept-Charset headers that are sent to the zope server by some mobile phones: fi: 'Accept-Charset':'ISO-8859-1, US-ASCII, UTF-8; Q=0.8' These cause a 500 internal server error. (Error Value: invalid literal for float(): =0.8 ) I checked with the HTTP1.1 RFC26160 section 14.2 and the header seems valid, but in fact isn't: there is a space between the semi-colon and the Q char (which shouldn't be there acoording to the spec). So, in principle, this is not a zope server bug, but an inflexibility. I think the server should be a bit more lenient. a simple .strip() in the right place should do. Could you guys fix this? TIA, Sloot. BTW, for completeness, I included a quick test program is included below (causes a 500 on my zope 2.6.0) : #- program illustrating the behavior --- import httplib, urllib def sendHTTP(): """ """ headers = {'Accept': 'application/vnd.wap.wmlc, application/vnd.wap.wmlscriptc, application/vnd.wap.wbxml, image/vnd.wap.wbmp, image/gif, application/*, text/html, application/xhtml+xml, application/vnd.wap.wml+xml, text/css', 'Accept-Charset':'ISO-8859-1, US-ASCII, UTF-8; Q=0.8'}#, ISO-10646-UCS-2; Q=0.6' conn = httplib.HTTPConnection("127.0.0.1:8080") conn.request("GET", "/mobile/wap/games/",headers=headers) response = conn.getresponse() print response.status, response.reason data = response.read() print data conn.close() sendHTTP() ___ 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://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Tools for creation and management of structured, HTML, or textual content
My organization is full of non-techie types and HTML guru wanna-bees who need to supply content to my Zope CMF server. I'm looking for any kind of tools designed for the creation and management of structured, HTML or textual content. I'm currently looking at Silva, but what else is out there? Thanks in advance. David Cain Senior Web Developer, Information Systems Department Syracuse University Library Syracuse, New York 13244-2010 (315) 443-5923 mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Zope Server Control
You misunderstand: I have zero code. :-) The screenshot (especially the second one) shows precisely what I'm looking for in a Zope controller. It should scale up to dozens of Zopes and ZEOs while remaining useful for single Zope instances, it should display rapidly flashing lights to indicate exactly how resources are being spent, and it should display a Zope logo so it doubles as a marketing tool. Consider the screenshot a request. Ah sorry I thought you would have just quickly knocked one out ;) I think the Controller is a very useful tool and very good for marketing its really helped a lot of people with Plone. I can post the QT .ui file, though, if that would help. ;-) Im hopefully getting a good UI designer (ie not me) on line for helping out with the UI for this. I was actually thinking of wxPython rather than Qt, but thats just a personal preference. Anyway when we get wxController going I'll drop you a line... -- Andy McKay ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [ZODB-Dev] zodb - first attempt
Am Montag, 10. Februar 2003 18:18 erhalten: > On Mon, Feb 10, 2003 at 05:43:04PM +0100, fritz steindl wrote: > > Traceback (most recent call last): > > File "C:\Python21\myZopeDB\zodbTest.py", line 1, in ? > > from ZODB import FileStorage, DB > > File "C:\Python21\ZODB\__init__.py", line 18, in ? > > import cPersistence, Persistence > > SystemError: _PyImport_FixupExtension: module ZODB.TimeStamp not loaded > > > > can somebody please lead me to the right way ... > > This is a know problem with Python 2.1 and 2.1.1; using version 2.1.3 > *should* solve this, though I'm not sure what the situation is on > Windows. Can you test with 2.1.3? > > Take care, that was it ... an upgrade to python 2.1.3 and all errors were gone and the first example works :-) thanks fritz (-:fs) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]
On Mon, 2003-02-10 at 10:27, Romain Slootmaekers wrote: > Romain Slootmaekers wrote: > Hi, > below the original post: > > it is a bug in Products/Localizer/Accept.py > > here's the code to fix it: > > #--- code fix starting from line 102 --- > > > # Get the quality > try: > if len(x) == 2: > quality = x[1]# Get the quality > quality =quality.strip() > quality = quality[2:] # Get the number (remove > "q=") > quality = float(quality) # Change it to float > else: > quality = 1.0 > except: > quality=1.0 > #--- end of code fix --- > > I added a strip() and a try/except for other things that can go wrong. Please, please, please, don't use generic "except:". They can cause ZODB corruption if they catch ConflictErrors. In the case of the code above, test for specific errors that "float(quality)" or "x[1]" can raise and catch those instead. -- Ideas don't stay in some minds very long because they don't like solitary confinement. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charset hearders causing 500 internal server error.[correct but not lenient]
On Mon, Feb 10, 2003 at 06:11:15PM -0200, Leonardo Rochael Almeida wrote: > Please, please, please, don't use generic "except:". They can cause ZODB > corruption if they catch ConflictErrors. Can anyone else confirm or deny??? If true, it needs to be much more widely publicized! $ cd /usr/src/Zope-2.6.1-src/lib/python/Products/ $ find . -name "*py" -exec grep -H "except:" {} \; | wc -l 170 well, this is all stuff that comes with Zope, hopefully they have been vetted... but then there's all these 3rd-party products: $ cd $INSTANCE_HOME/Products $ find . -name "*py" -exec grep -H "except:" {} \; | wc -l 133 Great, so there's at least 133 things to examine to see if they could catch a ConflictError. And I only wrote about 15 of those. The rest could be very time-consuming to audit. -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's THE GOBLET! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charsethearders causing 500 internal server error.[correct but not lenient]
Paul Winkler wrote: On Mon, Feb 10, 2003 at 06:11:15PM -0200, Leonardo Rochael Almeida wrote: Please, please, please, don't use generic "except:". They can cause ZODB corruption if they catch ConflictErrors. Can anyone else confirm or deny??? If true, it needs to be much more widely publicized! It's an open bug on Sourceforge: http://sourceforge.net/tracker/index.php?func=detail&aid=637279&group_id=15628&atid=115628 Great, so there's at least 133 things to examine to see if they could catch a ConflictError. And I only wrote about 15 of those. The rest could be very time-consuming to audit. "tal:on-error" also catches all exceptions. It could be made to catch all exceptions except ConflictError, but I don't feel like that's the right solution. I think the right solution is to prevent applications from committing potentially conflicting data, even when ConflictErrors are ignored. This doesn't seem to be a showstopper for now, but as more applications use ZODB, it could become a bigger problem. Shane ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]
Leonardo Rochael Almeida wrote: On Mon, 2003-02-10 at 10:27, Romain Slootmaekers wrote: Romain Slootmaekers wrote: Hi, below the original post: it is a bug in Products/Localizer/Accept.py here's the code to fix it: #--- code fix starting from line 102 --- # Get the quality try: if len(x) == 2: quality = x[1]# Get the quality quality =quality.strip() quality = quality[2:] # Get the number (remove "q=") quality = float(quality) # Change it to float else: quality = 1.0 except: quality=1.0 #--- end of code fix --- I added a strip() and a try/except for other things that can go wrong. Please, please, please, don't use generic "except:". They can cause ZODB corruption if they catch ConflictErrors. In the case of the code above, test for specific errors that "float(quality)" or "x[1]" can raise and catch those instead. In general, a generic except is evil. Here, I seriously don't see how the code inside the try/except can cause a conflict error or other serious damage. In general, general remarks are evil ;) Sloot. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charset hearders causing 500 internal server error.[correct but not lenient]
On Mon, Feb 10, 2003 at 03:47:58PM -0500, Shane Hathaway wrote: > This doesn't seem to be a showstopper for now, but as more applications > use ZODB, it could become a bigger problem. Well, what kind of errors can this cause in the ZODB? If it's just a matter of writing a mixture of old and new data to the ZODB, that's annoying but I agree it's not a showstopper. If it does in fact lead to FileStorage damage, that's another story. I'm still feeling touchy about the latter since I recently found (and still have not explained) >10k "bad transaction length" errors, 700 "invalid transaction length" errors, and 200 POSKeyErrors in a single FileStorage. -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's MALIFEROUS CONTORTIONIST! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev]Accept-Charset hearders causing 500 internal server error.[correct but notlenient]
Could this be done by initializing a dictionary at startup keyed on thread-id that a ConflictError exception's __init__ could stick a marker into, then checking that dictionary at commit time and disallowing the commit if the marker still existed? On Mon, 2003-02-10 at 15:47, Shane Hathaway wrote: > "tal:on-error" also catches all exceptions. It could be made to catch > all exceptions except ConflictError, but I don't feel like that's the > right solution. I think the right solution is to prevent applications > from committing potentially conflicting data, even when ConflictErrors > are ignored. > > This doesn't seem to be a showstopper for now, but as more applications > use ZODB, it could become a bigger problem. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charsethearders causing 500 internal server error.[correct but not lenient]
Chris McDonough wrote: Could this be done by initializing a dictionary at startup keyed on thread-id that a ConflictError exception's __init__ could stick a marker into, then checking that dictionary at commit time and disallowing the commit if the marker still existed? Yes, but Transaction objects are already keyed on the thread ID, so I think you just have to set a "doomed" flag on the transaction. Attempts to commit doomed transactions result in either ConflictError or "DoomedTransactionError". ;-) Aborting the transaction (or beginning a new transaction) resets the flag. Shane On Mon, 2003-02-10 at 15:47, Shane Hathaway wrote: "tal:on-error" also catches all exceptions. It could be made to catch all exceptions except ConflictError, but I don't feel like that's the right solution. I think the right solution is to prevent applications from committing potentially conflicting data, even when ConflictErrors are ignored. This doesn't seem to be a showstopper for now, but as more applications use ZODB, it could become a bigger problem. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charsethearders causing 500 internal server error.[correct but not lenient]
Paul Winkler wrote: On Mon, Feb 10, 2003 at 03:47:58PM -0500, Shane Hathaway wrote: This doesn't seem to be a showstopper for now, but as more applications use ZODB, it could become a bigger problem. Well, what kind of errors can this cause in the ZODB? If it's just a matter of writing a mixture of old and new data to the ZODB, that's annoying but I agree it's not a showstopper. If it does in fact lead to FileStorage damage, that's another story. I'm still feeling touchy about the latter since I recently found (and still have not explained) >10k "bad transaction length" errors, 700 "invalid transaction length" errors, and 200 POSKeyErrors in a single FileStorage. Badly handled conflict errors can result in POSKeyErrors (I think), but not "bad transaction length" errors. I think you might be dealing with a different problem. Shane ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: Bare "except" dangerous to ZODB? was Re:[Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]
On Mon, 2003-02-10 at 20:46, Chris McDonough wrote: > Could this be done by initializing a dictionary at startup keyed on > thread-id that a ConflictError exception's __init__ could stick a marker > into, then checking that dictionary at commit time and disallowing the > commit if the marker still existed? +1 And logging a zLOG.ERROR (or maybe even zLOG.PANIC?) level message to that effect IMHO, something that blocked commits of ConflictError'ed transactions should be a requirement in Zope 2.7 I believe that unqualified "except:"'s are the most common cause of unexplained Zope ZODB corruption. -- Ideas don't stay in some minds very long because they don't like solitary confinement. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] RE-FILL you Prescriptions on-line
VIAGRA AND OTHER MEDICINE There IS a solution to sexual dysfunction (impotence). It is called Viagra.Yes, you can now buy Viagra direct too. This page brings you Viagra at low cost. Try it now. Increased sexual performance is the result. Real authentic VIAGRA can be ordered online for as low as $6 per dose. No waiting rooms or doctor's visit embarrassment. Click Here and Order Now! It is in ourbest interest not to send e-mail to those who do not wish to receive it as it is a waste of our time and resources as well as yours. If you want to be excluded from future mailings please type delete in the subject line after clicking here ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )