[Checkins] SVN: zope.testbrowser/branches/3.6/ Fixed Python2.7 compatibility in Browser.handleErrors.

Gediminas Paulauskas menesis at pov.lt
Mon Mar 5 20:49:03 UTC 2012


Log message for revision 124524:
  Fixed Python2.7 compatibility in Browser.handleErrors.
  
  svn merge ^/zope.testbrowser/trunk -r 117560:117573
  

Changed:
  U   zope.testbrowser/branches/3.6/CHANGES.txt
  U   zope.testbrowser/branches/3.6/src/zope/testbrowser/browser.py
  U   zope.testbrowser/branches/3.6/src/zope/testbrowser/testing.py

-=-
Modified: zope.testbrowser/branches/3.6/CHANGES.txt
===================================================================
--- zope.testbrowser/branches/3.6/CHANGES.txt	2012-03-05 19:58:08 UTC (rev 124523)
+++ zope.testbrowser/branches/3.6/CHANGES.txt	2012-03-05 20:49:01 UTC (rev 124524)
@@ -5,6 +5,8 @@
 3.6.0b1 (unreleased)
 --------------------
 
+- Fixed Python2.7 compatibility in Browser.handleErrors.
+
 - Fix tests on Python 2.7
 
 3.6.0a2 (2009-01-31)

Modified: zope.testbrowser/branches/3.6/src/zope/testbrowser/browser.py
===================================================================
--- zope.testbrowser/branches/3.6/src/zope/testbrowser/browser.py	2012-03-05 19:58:08 UTC (rev 124523)
+++ zope.testbrowser/branches/3.6/src/zope/testbrowser/browser.py	2012-03-05 20:49:01 UTC (rev 124524)
@@ -216,17 +216,22 @@
 
         def get(self):
             headers = self.mech_browser.addheaders
-            return dict(headers).get(header_key, True)
+            value = dict(headers).get(header_key, True)
+            return {'False': False}.get(value, True)
 
         def set(self, value):
             headers = self.mech_browser.addheaders
             current_value = get(self)
             if current_value == value:
                 return
-            if header_key in dict(headers):
-                headers.remove((header_key, current_value))
-            headers.append((header_key, value))
 
+            # Remove the current header...
+            for key, header_value in headers[:]:
+                if key == header_key:
+                    headers.remove((key, header_value))
+            # ... Before adding the new one.
+            headers.append((header_key, {False: 'False'}.get(value, 'True')))
+
         return property(get, set)
 
     def open(self, url, data=None):

Modified: zope.testbrowser/branches/3.6/src/zope/testbrowser/testing.py
===================================================================
--- zope.testbrowser/branches/3.6/src/zope/testbrowser/testing.py	2012-03-05 19:58:08 UTC (rev 124523)
+++ zope.testbrowser/branches/3.6/src/zope/testbrowser/testing.py	2012-03-05 20:49:01 UTC (rev 124524)
@@ -62,9 +62,11 @@
             handle_errors_key = 'X-Zope-Handle-Errors'
         else:
             handle_errors_key = 'X-zope-handle-errors'
-        handle_errors = headers.get(handle_errors_key, True)
+        handle_errors_header = headers.get(handle_errors_key, True)
         if handle_errors_key in headers:
             del headers[handle_errors_key]
+        # Translate string to boolean.
+        handle_errors = {'False': False}.get(handle_errors_header, True)
 
         # Construct the headers.
         header_chunks = []



More information about the checkins mailing list