2017-06-09 21:22:50 +00:00
|
|
|
import uio
|
|
|
|
|
|
|
|
c = {}
|
2015-06-25 23:17:32 +00:00
|
|
|
|
2021-05-27 05:50:04 +00:00
|
|
|
|
2015-06-25 23:17:32 +00:00
|
|
|
def resource_stream(package, resource):
|
2017-06-09 21:22:50 +00:00
|
|
|
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 = "."
|
2021-05-27 05:50:04 +00:00
|
|
|
# if d[0] != "/":
|
|
|
|
# import uos
|
|
|
|
# d = uos.getcwd() + "/" + d
|
2017-06-09 21:22:50 +00:00
|
|
|
c[package] = d + "/"
|
|
|
|
|
|
|
|
p = c[package]
|
|
|
|
if isinstance(p, dict):
|
|
|
|
return uio.BytesIO(p[resource])
|
|
|
|
return open(p + resource, "rb")
|