diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-02-07 20:46:42 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-02-07 21:13:13 +0000 |
commit | d4b4b48addfa781d7b94965e0477974c3fb6dbb3 (patch) | |
tree | 862d5b35ca263a6b6ef73eb3e0a9592f822f21a9 /bitbake/lib/bb | |
parent | 94faffdaf6c13ce59987aab28383d66a9a0bf100 (diff) | |
download | openembedded-core-d4b4b48addfa781d7b94965e0477974c3fb6dbb3.tar.gz openembedded-core-d4b4b48addfa781d7b94965e0477974c3fb6dbb3.tar.bz2 openembedded-core-d4b4b48addfa781d7b94965e0477974c3fb6dbb3.tar.xz openembedded-core-d4b4b48addfa781d7b94965e0477974c3fb6dbb3.zip |
bitbake/fetch2: Fix pickling issues with fetcher exceptions
See the problems in http://bugs.python.org/issue1692335, need to set self.args
correctly.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index dda70db48..a37bd2b53 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -49,55 +49,62 @@ class BBFetchException(Exception): class MalformedUrl(BBFetchException): """Exception raised when encountering an invalid url""" def __init__(self, url): - self.msg = "The URL: '%s' is invalid and cannot be interpreted" % url + msg = "The URL: '%s' is invalid and cannot be interpreted" % url self.url = url - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = url class FetchError(BBFetchException): """General fetcher exception when something happens incorrectly""" def __init__(self, message, url = None): - self.msg = "Fetcher failure for URL: '%s'. %s" % (url, message) + msg = "Fetcher failure for URL: '%s'. %s" % (url, message) self.url = url - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = (message, url) class UnpackError(BBFetchException): """General fetcher exception when something happens incorrectly when unpacking""" def __init__(self, message, url): - self.msg = "Unpack failure for URL: '%s'. %s" % (url, message) + msg = "Unpack failure for URL: '%s'. %s" % (url, message) self.url = url - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = (message, url) class NoMethodError(BBFetchException): """Exception raised when there is no method to obtain a supplied url or set of urls""" def __init__(self, url): - self.msg = "Could not find a fetcher which supports the URL: '%s'" % url + msg = "Could not find a fetcher which supports the URL: '%s'" % url self.url = url - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = url class MissingParameterError(BBFetchException): """Exception raised when a fetch method is missing a critical parameter in the url""" def __init__(self, missing, url): - self.msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) + msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) self.url = url self.missing = missing - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = (missing, url) class ParameterError(BBFetchException): """Exception raised when a url cannot be proccessed due to invalid parameters.""" def __init__(self, message, url): - self.msg = "URL: '%s' has invalid parameters. %s" % (url, message) + msg = "URL: '%s' has invalid parameters. %s" % (url, message) self.url = url - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = (message, url) class MD5SumError(BBFetchException): """Exception raised when a MD5 checksum of a file does not match for a downloaded file""" def __init__(self, path, wanted, got, url): - self.msg = "File: '%s' has md5 sum %s when %s was expected (from URL: '%s')" % (path, got, wanted, url) + msg = "File: '%s' has md5 sum %s when %s was expected (from URL: '%s')" % (path, got, wanted, url) self.url = url self.path = path self.wanted = wanted self.got = got - Exception.__init__(self, self.msg) + BBFetchException.__init__(self, msg) + self.args = (path, wanted, got, url) class SHA256SumError(MD5SumError): """Exception raised when a SHA256 checksum of a file does not match for a downloaded file""" |