A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/usr/lib/python2.7/urllib2.py in urlopen(url='http://www.timetable.uwa.edu.au/Curr/selectunits.asp', data='', timeout=<object object>, cafile=None, capath=None, cadefault=False, context=None) |
152 else:
|
153 opener = _opener
|
=> 154 return opener.open(url, data, timeout)
|
155
|
156 def install_opener(opener):
|
opener = <urllib2.OpenerDirector instance>, opener.open = <bound method OpenerDirector.open of <urllib2.OpenerDirector instance>>, url = 'http://www.timetable.uwa.edu.au/Curr/selectunits.asp', data = '', timeout = <object object> |
/usr/lib/python2.7/urllib2.py in open(self=<urllib2.OpenerDirector instance>, fullurl='http://www.timetable.uwa.edu.au/Curr/selectunits.asp', data='', timeout=<object object>) |
433 for processor in self.process_response.get(protocol, []):
|
434 meth = getattr(processor, meth_name)
|
=> 435 response = meth(req, response)
|
436
|
437 return response
|
response = <addinfourl at 3075960268L whose fp = None>, meth = <bound method HTTPErrorProcessor.http_response of <urllib2.HTTPErrorProcessor instance>>, req = <urllib2.Request instance> |
/usr/lib/python2.7/urllib2.py in http_response(self=<urllib2.HTTPErrorProcessor instance>, request=<urllib2.Request instance>, response=<addinfourl at 3075960268L whose fp = None>) |
546 if not (200 <= code < 300):
|
547 response = self.parent.error(
|
=> 548 'http', request, response, code, msg, hdrs)
|
549
|
550 return response
|
request = <urllib2.Request instance>, response = <addinfourl at 3075960268L whose fp = None>, code = 301, msg = 'Moved Permanently', hdrs = <httplib.HTTPMessage instance> |
/usr/lib/python2.7/urllib2.py in error(self=<urllib2.OpenerDirector instance>, proto=301, *args=({301: [<urllib2.HTTPRedirectHandler instance>], 302: [<urllib2.HTTPRedirectHandler instance>], 303: [<urllib2.HTTPRedirectHandler instance>], 307: [<urllib2.HTTPRedirectHandler instance>], 'default': [<urllib2.HTTPDefaultErrorHandler instance>]}, 301, 'http_error_301', <urllib2.Request instance>, <addinfourl at 3075960268L whose fp = None>, 301, 'Moved Permanently', <httplib.HTTPMessage instance>)) |
465 http_err = 0
|
466 args = (dict, proto, meth_name) + args
|
=> 467 result = self._call_chain(*args)
|
468 if result:
|
469 return result
|
result undefined, self = <urllib2.OpenerDirector instance>, self._call_chain = <bound method OpenerDirector._call_chain of <urllib2.OpenerDirector instance>>, args = ({301: [<urllib2.HTTPRedirectHandler instance>], 302: [<urllib2.HTTPRedirectHandler instance>], 303: [<urllib2.HTTPRedirectHandler instance>], 307: [<urllib2.HTTPRedirectHandler instance>], 'default': [<urllib2.HTTPDefaultErrorHandler instance>]}, 301, 'http_error_301', <urllib2.Request instance>, <addinfourl at 3075960268L whose fp = None>, 301, 'Moved Permanently', <httplib.HTTPMessage instance>) |
/usr/lib/python2.7/urllib2.py in _call_chain(self=<urllib2.OpenerDirector instance>, chain={301: [<urllib2.HTTPRedirectHandler instance>], 302: [<urllib2.HTTPRedirectHandler instance>], 303: [<urllib2.HTTPRedirectHandler instance>], 307: [<urllib2.HTTPRedirectHandler instance>], 'default': [<urllib2.HTTPDefaultErrorHandler instance>]}, kind=301, meth_name='http_error_301', *args=(<urllib2.Request instance>, <addinfourl at 3075960268L whose fp = None>, 301, 'Moved Permanently', <httplib.HTTPMessage instance>)) |
405 func = getattr(handler, meth_name)
|
406
|
=> 407 result = func(*args)
|
408 if result is not None:
|
409 return result
|
result undefined, func = <bound method HTTPRedirectHandler.http_error_302 of <urllib2.HTTPRedirectHandler instance>>, args = (<urllib2.Request instance>, <addinfourl at 3075960268L whose fp = None>, 301, 'Moved Permanently', <httplib.HTTPMessage instance>) |
/usr/lib/python2.7/urllib2.py in http_error_302(self=<urllib2.HTTPRedirectHandler instance>, req=<urllib2.Request instance>, fp=<addinfourl at 3075960268L whose fp = None>, code=301, msg='Moved Permanently', headers=<httplib.HTTPMessage instance>) |
652 fp.close()
|
653
|
=> 654 return self.parent.open(new, timeout=req.timeout)
|
655
|
656 http_error_301 = http_error_303 = http_error_307 = http_error_302
|
self = <urllib2.HTTPRedirectHandler instance>, self.parent = <urllib2.OpenerDirector instance>, self.parent.open = <bound method OpenerDirector.open of <urllib2.OpenerDirector instance>>, new = <urllib2.Request instance>, timeout undefined, req = <urllib2.Request instance>, req.timeout = <object object> |
/usr/lib/python2.7/urllib2.py in open(self=<urllib2.OpenerDirector instance>, fullurl=<urllib2.Request instance>, data=None, timeout=<object object>) |
433 for processor in self.process_response.get(protocol, []):
|
434 meth = getattr(processor, meth_name)
|
=> 435 response = meth(req, response)
|
436
|
437 return response
|
response = <addinfourl at 3075960588L whose fp = <socket._fileobject object>>, meth = <bound method HTTPErrorProcessor.http_response of <urllib2.HTTPErrorProcessor instance>>, req = <urllib2.Request instance> |
/usr/lib/python2.7/urllib2.py in http_response(self=<urllib2.HTTPErrorProcessor instance>, request=<urllib2.Request instance>, response=<addinfourl at 3075960588L whose fp = <socket._fileobject object>>) |
546 if not (200 <= code < 300):
|
547 response = self.parent.error(
|
=> 548 'http', request, response, code, msg, hdrs)
|
549
|
550 return response
|
request = <urllib2.Request instance>, response = <addinfourl at 3075960588L whose fp = <socket._fileobject object>>, code = 404, msg = 'Not Found', hdrs = <httplib.HTTPMessage instance> |
/usr/lib/python2.7/urllib2.py in error(self=<urllib2.OpenerDirector instance>, proto=404, *args=({301: [<urllib2.HTTPRedirectHandler instance>], 302: [<urllib2.HTTPRedirectHandler instance>], 303: [<urllib2.HTTPRedirectHandler instance>], 307: [<urllib2.HTTPRedirectHandler instance>], 'default': [<urllib2.HTTPDefaultErrorHandler instance>]}, 'default', 'http_error_default', <urllib2.Request instance>, <addinfourl at 3075960588L whose fp = <socket._fileobject object>>, 404, 'Not Found', <httplib.HTTPMessage instance>)) |
471 if http_err:
|
472 args = (dict, 'default', 'http_error_default') + orig_args
|
=> 473 return self._call_chain(*args)
|
474
|
475 # XXX probably also want an abstract factory that knows when it makes
|
self = <urllib2.OpenerDirector instance>, self._call_chain = <bound method OpenerDirector._call_chain of <urllib2.OpenerDirector instance>>, args = ({301: [<urllib2.HTTPRedirectHandler instance>], 302: [<urllib2.HTTPRedirectHandler instance>], 303: [<urllib2.HTTPRedirectHandler instance>], 307: [<urllib2.HTTPRedirectHandler instance>], 'default': [<urllib2.HTTPDefaultErrorHandler instance>]}, 'default', 'http_error_default', <urllib2.Request instance>, <addinfourl at 3075960588L whose fp = <socket._fileobject object>>, 404, 'Not Found', <httplib.HTTPMessage instance>) |
/usr/lib/python2.7/urllib2.py in _call_chain(self=<urllib2.OpenerDirector instance>, chain={301: [<urllib2.HTTPRedirectHandler instance>], 302: [<urllib2.HTTPRedirectHandler instance>], 303: [<urllib2.HTTPRedirectHandler instance>], 307: [<urllib2.HTTPRedirectHandler instance>], 'default': [<urllib2.HTTPDefaultErrorHandler instance>]}, kind='default', meth_name='http_error_default', *args=(<urllib2.Request instance>, <addinfourl at 3075960588L whose fp = <socket._fileobject object>>, 404, 'Not Found', <httplib.HTTPMessage instance>)) |
405 func = getattr(handler, meth_name)
|
406
|
=> 407 result = func(*args)
|
408 if result is not None:
|
409 return result
|
result undefined, func = <bound method HTTPDefaultErrorHandler.http_error...lt of <urllib2.HTTPDefaultErrorHandler instance>>, args = (<urllib2.Request instance>, <addinfourl at 3075960588L whose fp = <socket._fileobject object>>, 404, 'Not Found', <httplib.HTTPMessage instance>) |
/usr/lib/python2.7/urllib2.py in http_error_default(self=<urllib2.HTTPDefaultErrorHandler instance>, req=<urllib2.Request instance>, fp=<addinfourl at 3075960588L whose fp = <socket._fileobject object>>, code=404, msg='Not Found', hdrs=<httplib.HTTPMessage instance>) |
554 class HTTPDefaultErrorHandler(BaseHandler):
|
555 def http_error_default(self, req, fp, code, msg, hdrs):
|
=> 556 raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
|
557
|
558 class HTTPRedirectHandler(BaseHandler):
|
global HTTPError = <class 'urllib2.HTTPError'>, req = <urllib2.Request instance>, req.get_full_url = <bound method Request.get_full_url of <urllib2.Request instance>>, code = 404, msg = 'Not Found', hdrs = <httplib.HTTPMessage instance>, fp = <addinfourl at 3075960588L whose fp = <socket._fileobject object>> |