Skip to content

Commit 7c4f78b

Browse files
committed
Refactoring: add JuliaAPI class
1 parent 43e148a commit 7c4f78b

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

src/replhelper/core.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,31 @@ def jl_name(name):
99
return name
1010

1111

12-
class JuliaNameSpace(object):
12+
class JuliaAPI(object):
1313

1414
def __init__(self, eval_str, set_var):
15-
self.__eval = eval_str
16-
self.__set = set_var
15+
self.eval = eval_str
16+
self.set_var = set_var
17+
18+
19+
class JuliaNameSpace(object):
20+
21+
def __init__(self, julia):
22+
self.__julia = julia
1723

18-
eval = property(lambda self: self.__eval)
24+
eval = property(lambda self: self.__julia.eval)
1925

2026
def __setattr__(self, name, value):
2127
if name.startswith('_'):
2228
super(JuliaNameSpace, self).__setattr__(name, value)
2329
else:
24-
self.__set(name, value)
30+
self.__julia.set_var(name, value)
2531

2632
def __getattr__(self, name):
2733
if name.startswith('_'):
2834
return super(JuliaNameSpace, self).__getattr__(name)
2935
else:
30-
return self.__eval(jl_name(name))
36+
return self.__julia.eval(jl_name(name))
3137

3238

3339
instruction_template = """
@@ -107,7 +113,7 @@ def wrapped(*args, **kwargs):
107113
def ipython_options(**kwargs):
108114
from traitlets.config import Config
109115

110-
Main = JuliaNameSpace(**kwargs)
116+
Main = JuliaNameSpace(JuliaAPI(**kwargs))
111117
user_ns = dict(
112118
Main=Main,
113119
)

0 commit comments

Comments
 (0)