pkg_resources: Support "frozen" resources (in R.py module).

pull/188/head
Paul Sokolovsky 2017-06-10 00:22:50 +03:00
rodzic e1f75100cf
commit 8a2958ee36
1 zmienionych plików z 25 dodań i 7 usunięć

Wyświetl plik

@ -1,9 +1,27 @@
import os
import os.path
import uio
c = {}
def resource_stream(package, resource):
p = __import__(package)
d = os.path.dirname(p.__file__)
if d[0] != "/":
d = os.getcwd() + "/" + d
return open(d + "/" + resource, "rb")
if package not in c:
try:
if package:
p = __import__(package + ".R", None, None, True)
else:
p = __import__("R")
c[package] = p.R
except ImportError:
if package:
p = __import__(package)
d = p.__path__
else:
d = "."
if d[0] != "/":
import uos
d = uos.getcwd() + "/" + d
c[package] = d + "/"
p = c[package]
if isinstance(p, dict):
return uio.BytesIO(p[resource])
return open(p + resource, "rb")