Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 770

Show
Ignore:
Timestamp:
10/31/05 13:34:53
Author:
fumanchu
Message:

Fix for #359 (custom errors have no args attribute).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cperror.py

    r768 r770  
    6161        if request.queryString: 
    6262            request.browserUrl += '?' + request.queryString 
     63         
     64        Exception.__init__(self, path, params) 
    6365 
    6466 
     
    105107         
    106108        self.status = status 
     109        Exception.__init__(self, abs_urls, status) 
    107110     
    108111    def set_response(self): 
     
    157160            raise ValueError("status must be between 400 and 599.") 
    158161        self.message = message 
     162        Error.__init__(self, status, message) 
    159163     
    160164    def set_response(self): 
     
    177181        if cherrypy.response.headerMap.has_key("Content-Encoding"): 
    178182            del cherrypy.response.headerMap['Content-Encoding'] 
    179      
    180     def __str__(self): 
    181         import cherrypy 
    182         return "%s: %s" % (self.status, self.message or "") 
    183183 
    184184 
  • trunk/cherrypy/test/test_core.py

    r768 r770  
    8080class Redirect(Test): 
    8181     
    82     def _cpOnError(self): 
    83         raise cherrypy.HTTPRedirect("/errpage") 
    84      
    85     def error(self): 
    86         raise NameError() 
     82    class Error: 
     83        def _cpOnError(self): 
     84            raise cherrypy.HTTPRedirect("/errpage") 
     85         
     86        def index(self): 
     87            raise NameError() 
     88        index.exposed = True 
     89    error = Error() 
    8790     
    8891    def index(self): 
     
    112115        else: 
    113116            raise cherrypy.InternalRedirect('/image/getImagesByUser') 
     117     
     118    def stringify(self): 
     119        return str(cherrypy.HTTPRedirect("/")) 
    114120 
    115121 
     
    504510         
    505511        # HTTPRedirect on error 
    506         self.getPage("/redirect/error") 
     512        self.getPage("/redirect/error/") 
    507513        self.assertStatus('303 See Other') 
    508514        self.assertInBody('/errpage') 
     515         
     516        # Make sure str(HTTPRedirect()) works. 
     517        self.getPage("/redirect/stringify") 
     518        self.assertStatus('200 OK') 
     519        self.assertBody("(['http://127.0.0.1:8000/'], 303)") 
    509520     
    510521    def testCPFilterList(self): 

Hosted by WebFaction

Log in as guest/cpguest to create tickets