summaryrefslogtreecommitdiffstats
path: root/lib/bb/fetch2
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-07 20:46:42 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-10 23:37:12 +0000
commit84e0ae4e97745e3baef8885ee6106895d0543c30 (patch)
treece6e29d20183b30068bf3914b28916e67d471fc4 /lib/bb/fetch2
parenta9e70ef8ebe24e51ee0282a75b845e66bd6cb70f (diff)
downloadbitbake-84e0ae4e97745e3baef8885ee6106895d0543c30.tar.gz
bitbake/fetch2: Fix pickling issues with fetcher exceptions
See the problems in http://bugs.python.org/issue1692335, need to set self.args correctly. (From Poky rev: d4b4b48addfa781d7b94965e0477974c3fb6dbb3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/fetch2')
-rw-r--r--lib/bb/fetch2/__init__.py35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py
index dda70db48..a37bd2b53 100644
--- a/lib/bb/fetch2/__init__.py
+++ b/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"""