[Zope-Checkins] CVS: Zope2 - HTTPResponse.py:1.46

Andreas Jung andreas@dhcp165.digicool.com
Tue, 24 Apr 2001 11:59:50 -0400


Update of /cvs-repository/Zope2/lib/python/ZPublisher
In directory yetix:/work/sandboxes/Zope2/lib/python/ZPublisher

Modified Files:
	HTTPResponse.py 
Log Message:
regex free



--- Updated File HTTPResponse.py in package Zope2 --
--- HTTPResponse.py	2001/04/07 16:07:09	1.45
+++ HTTPResponse.py	2001/04/24 15:59:49	1.46
@@ -87,7 +87,7 @@
 $Id$'''
 __version__='$Revision$'[11:-2]
 
-import string, types, sys, regex, re
+import string, types, sys,  re
 from string import find, rfind, lower, upper, strip, split, join, translate
 from types import StringType, InstanceType, LongType
 from BaseResponse import BaseResponse
@@ -271,7 +271,7 @@
     __setitem__=setHeader
 
     def setBody(self, body, title='', is_error=0,
-                bogus_str_search=regex.compile(" [a-fA-F0-9]+>$").search,
+                bogus_str_search=re.compile(" [a-fA-F0-9]+>$").search,
                 latin1_alias_match=re.compile(
                 r'text/html(\s*;\s*charset=((latin)|(latin[-_]?1)|'
                 r'(cp1252)|(cp819)|(csISOLatin1)|(IBM819)|(iso-ir-100)|'
@@ -304,7 +304,7 @@
         body=str(body)
         l=len(body)
         if ((l < 200) and body[:1]=='<' and find(body,'>')==l-1 and 
-            bogus_str_search(body) > 0):
+            bogus_str_search(body) is not None):
             self.notFoundError(body[1:-1])
         else:
             if(title):
@@ -343,8 +343,7 @@
         self.base=base
 
     def insertBase(self,
-                   base_re_search=regex.compile('\(<base[\0- ]+[^>]+>\)',
-                                                regex.casefold).search
+                   base_re_search=re.compile('(<base.*?>)',re.I).search
                    ):
 
         # Only insert a base tag if content appears to be html.
@@ -359,7 +358,7 @@
                 if match is not None:
                     index=match.start(0) + len(match.group(0))
                     ibase=base_re_search(body)
-                    if ibase < 0:
+                    if ibase is None:
                         self.body=('%s\n<base href="%s" />\n%s' %
                                    (body[:index], self.base, body[index:]))
                         self.setHeader('content-length', len(self.body))
@@ -560,7 +559,7 @@
 
     def badRequestError(self,name):
         self.setStatus(400)
-        if regex.match('^[A-Z_0-9]+$',name) >= 0:
+        if re.match('^[A-Z_0-9]+$',name):
             raise 'InternalError', self._error_html(
                 "Internal Error",
                 "Sorry, an internal error occurred in this resource.")
@@ -589,13 +588,7 @@
         raise 'Unauthorized', m
 
     def exception(self, fatal=0, info=None,
-                  absuri_match=regex.compile(
-                      "^"
-                      "\(/\|\([a-zA-Z0-9+.-]+:\)\)"
-                      "[^\000- \"\\#<>]*"
-                      "\\(#[^\000- \"\\#<>]*\\)?"
-                      "$"
-                      ).match,
+                  absuri_match=re.compile(r'\w+://[\w\.]+').match,
                   tag_search=re.compile('[a-zA-Z]>').search,
                   abort=1
                   ):
@@ -628,7 +621,7 @@
         stb=None
         self.setStatus(t)
         if self.status >= 300 and self.status < 400:
-            if type(v) == types.StringType and absuri_match(v) >= 0:
+            if type(v) == types.StringType and absuri_match(v) is not None:
                 if self.status==300: self.setStatus(302)
                 self.setHeader('location', v)
                 tb=None
@@ -636,7 +629,7 @@
             else:
                 try:
                     l,b=v
-                    if type(l) == types.StringType and absuri_match(l) >= 0:
+                    if type(l) == types.StringType and absuri_match(l) is not None:
                         if self.status==300: self.setStatus(302)
                         self.setHeader('location', l)
                         self.setBody(b)
@@ -704,7 +697,7 @@
         return cookie_list
 
     def __str__(self,
-                html_search=regex.compile('<html>',regex.casefold).search,
+                html_search=re.compile('<html>',re.I).search,
                 ):
         if self._wrote: return ''       # Streaming output was used.
 
@@ -770,3 +763,4 @@
             self.stdout.flush()
 
         self.stdout.write(data)
+