Check-in [d88aab3981]
Overview
| Comment: | Wrap `gzip_decode` as fallback for Python 2. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
d88aab39812eb65a8528ee67503d5f5d |
| User & Date: | mario on 2015-04-05 14:09:09 |
| Other Links: | manifest | tags |
Context
|
2015-04-05
| ||
| 14:09 | Update window title for currently selected category tab. check-in: a6f5f66365 user: mario tags: trunk | |
| 14:09 | Wrap `gzip_decode` as fallback for Python 2. check-in: d88aab3981 user: mario tags: trunk | |
| 14:08 | Manually register addon widget signals. Otherwise main keeps bugging with GtkWarnings when timer plugin is disabled. check-in: 33e106bce5 user: mario tags: trunk | |
Changes
Modified compat2and3.py from [26cc8f6b71] to [e41c080b1a].
1 2 3 4 | # encoding: UTF-8 # api: python # type: functions # title: Python2 and Python3 compatibility | | | 1 2 3 4 5 6 7 8 9 10 11 12 | # encoding: UTF-8 # api: python # type: functions # title: Python2 and Python3 compatibility # version: 0.2 # # Renames some Python3 modules into their Py2 equivalent. # Slim local alternative to `six` module. import sys |
| ︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import urllib2
from urllib import urlencode
import urlparse
import cookielib
# filesys
from StringIO import StringIO
# Python 3
else:
# version tags
PY2 = 0
| > > > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import urllib2
from urllib import urlencode
import urlparse
import cookielib
# filesys
from StringIO import StringIO
from gzip import GzipFile
def gzip_decode(bytes):
return GzipFile(fileobj=StringIO(bytes)).read()
# return zlib.decompress(bytes, 16 + zlib.MAX_WBITS) # not fully compatible
# Python 3
else:
# version tags
PY2 = 0
|
| ︙ | ︙ | |||
50 51 52 53 54 55 56 57 |
import urllib.request as urllib2
from urllib.parse import urlencode
import urllib.parse as urlparse
from http import cookiejar as cookielib
# filesys
from io import StringIO
| > | > > > > > > > > > > > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import urllib.request as urllib2
from urllib.parse import urlencode
import urllib.parse as urlparse
from http import cookiejar as cookielib
# filesys
from io import StringIO
from gzip import decompress as gzip_decode
# Both
# find_executable() is only needed by channels/configwin
try:
from distutils.spawn import find_executable
except:
def find_executable(bin):
exists = [os.path.exists(dir+"/"+bin) for dir in os.environ.get("PATH").split(":")+["/"]]
return exists[0] if len(exists) else None
|
Modified config.py from [86c0092432] to [8430e295e9].
| ︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 | import os import sys import json import gzip import platform import re import zlib import zipfile import inspect import pkgutil | > < < < < < < < < < | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import os import sys import json import gzip import platform import re from compat2and3 import gzip_decode, find_executable import zlib import zipfile import inspect import pkgutil # export symbols __all__ = ["conf", "__print__", "dbg", "plugin_meta", "module_list", "get_data", "find_executable"] #-- create a stub instance of config object conf = object() |
| ︙ | ︙ | |||
258 259 260 261 262 263 264 |
if server in netrc:
return netrc[server]
# Retrieve content from install path or pyzip archive (alias for pkgutil.get_data)
#
| | | | | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
if server in netrc:
return netrc[server]
# Retrieve content from install path or pyzip archive (alias for pkgutil.get_data)
#
def get_data(fn, decode=False, gz=False, file_base="config"):
try:
bin = pkgutil.get_data(file_base, fn)
if gz:
bin = gzip_decode(bin)
if decode:
return bin.decode("utf-8")
else:
return str(bin)
except:
pass
|
| ︙ | ︙ |