2
3 import urllib
4 try:
5 return urllib.urlopen(source)
6 except (IOError, OSError):
7 pass
8
9 try:
10 return open(source)
11 except (IOError, OSError):
12 pass
13
14 import StringIO
15 return StringIO.StringIO(str(source))
16
18 - def __init__(self, message, cause=None):
19 self.message = message
20 self.cause = cause
21
23 if self.cause is None:
24 return repr(self.message)
25 else:
26 return repr(self.message) + repr(self.cause)
27