Пример #1
0
def pyimport(name):
    name = pyre_to_py_val(name)
    pymod = __import__(name)
    for part in name.split(".")[1:]:
        pymod = getattr(pymod, part)
    names = pymod.__all__ if hasattr(pymod, '__all__') else [name for name in dir(pymod) if not name.startswith('__')]
    mod = PyreModule()
    for name, value in zip(names, map(partial(getattr, pymod), names)):
        mod._setattr(PyreString(name), pyre_to_pyre_val(value))
    return mod
Пример #2
0
def loadex(state, name):
    name = pyre_to_py_val(name)
    pymod = __import__(name)
    for part in name.split(".")[1:]:
        pymod = getattr(pymod, part)
    names = pymod.__all__
    mod = PyreModule()
    for name, value in zip(names, map(partial(getattr, pymod), names)):
        if callable(value):
            mod._setattr(PyreString(name), PyrePyFunc(value))
        else:
            mod._setattr(PyreString(name), value)
    return mod
Пример #3
0
def run(func, args):
    func, args = pyre_to_py_val(func), pyre_to_py_val(args)
    threading.Thread(target=func, args=args, daemon=True).run()
Пример #4
0
def apply_kw(func, ad):
    func, adict = pyre_to_py_val(func), {pyre_to_py_val(name): pyre_to_py_val(value) 
                for name, value in zip(ad.dict['keys'].values, ad.dict['values'].values)}
    return pyre_to_pyre_val(func(**adict))
Пример #5
0
def pyexec(string):
    string = pyre_to_py_val(string)
    exec(string)
Пример #6
0
def pyeval(string):
    string = pyre_to_py_val(string)
    return pyre_to_pyre_val(eval(string))