Source code for cdms2.cdmsURLopener

"""Overrides urllib error handling"""
# Import this AFTER urllib

import urllib.request
import urllib.parse
import urllib.error


[docs]class CDMSURLopener(urllib.request.FancyURLopener): # Override FancyURLopener error handling - raise an exception # Can also define function http_error_DDD where DDD is the 3-digit error code, # to handle specific errors.
[docs] def http_error_default(self, url, fp, errcode, errmsg, headers): fp.read() fp.close() raise IOError('http error', errcode, errmsg, headers)
urllib.request._urlopener = CDMSURLopener()