Show More
@@ -96,6 +96,7 b' def needs_local_scope(func):' | |||||
96 | # Used for exception handling in magic_edit |
|
96 | # Used for exception handling in magic_edit | |
97 | class MacroToEdit(ValueError): pass |
|
97 | class MacroToEdit(ValueError): pass | |
98 |
|
98 | |||
|
99 | # Taken from PEP 263, this is the official encoding regexp. | |||
99 | _encoding_declaration_re = re.compile(r"^#.*coding[:=]\s*([-\w.]+)") |
|
100 | _encoding_declaration_re = re.compile(r"^#.*coding[:=]\s*([-\w.]+)") | |
100 |
|
101 | |||
101 | #*************************************************************************** |
|
102 | #*************************************************************************** | |
@@ -2163,6 +2164,14 b' Currently the magic system has the following functions:\\n"""' | |||||
2163 | if remote_url: |
|
2164 | if remote_url: | |
2164 | import urllib2 |
|
2165 | import urllib2 | |
2165 | fileobj = urllib2.urlopen(arg_s) |
|
2166 | fileobj = urllib2.urlopen(arg_s) | |
|
2167 | # While responses have a .info().getencoding() way of asking for | |||
|
2168 | # their encoding, in *many* cases the return value is bogus. In | |||
|
2169 | # the wild, servers serving utf-8 but declaring latin-1 are | |||
|
2170 | # extremely common, as the old HTTP standards specify latin-1 as | |||
|
2171 | # the default but many modern filesystems use utf-8. So we can NOT | |||
|
2172 | # rely on the headers. Short of building complex encoding-guessing | |||
|
2173 | # logic, going with utf-8 is a simple solution likely to be right | |||
|
2174 | # in most real-world cases. | |||
2166 | linesource = fileobj.read().decode('utf-8', 'replace').splitlines() |
|
2175 | linesource = fileobj.read().decode('utf-8', 'replace').splitlines() | |
2167 | else: |
|
2176 | else: | |
2168 | fileobj = linesource = open(arg_s) |
|
2177 | fileobj = linesource = open(arg_s) |
General Comments 0
You need to be logged in to leave comments.
Login now