Skip to content

Commit c4e58bb

Browse files
committed
Added methods for AbstractRuntime
1 parent 6e78cda commit c4e58bb

File tree

3 files changed

+5
-29
lines changed

3 files changed

+5
-29
lines changed

‎execjs/_abstract_runtime.py‎

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,23 @@ def exec_(self, source, cwd=None):
1212
'''Execute source by JavaScript runtime and return all output to stdout as a string.
1313
1414
source -- JavaScript code to execute.
15-
cwd -- Directory where call JavaScript runtime. It may be ignored for some runtime.
15+
cwd -- Directory where call JavaScript runtime. It may be ignored in some derived class.
1616
'''
17-
ifnotself.is_available():
18-
raiseexecjs.RuntimeUnavailableError
19-
returnself._exec_(source, cwd=cwd)
17+
returnself.compile('', cwd=cwd).exec_(source)
2018

2119
defeval(self, source, cwd=None):
2220
'''Evaluate source in JavaScript runtime.
2321
2422
source -- JavaScript code to evaluate.
25-
cwd -- Directory where call JavaScript runtime. It may be ignored for some runtime.
23+
cwd -- Directory where call JavaScript runtime. It may be ignored in some derived class.
2624
'''
27-
ifnotself.is_available():
28-
raiseexecjs.RuntimeUnavailableError
29-
returnself._eval(source, cwd=cwd)
25+
returnself.compile('', cwd=cwd).eval(source)
3026

3127
defcompile(self, source, cwd=None):
3228
'''Bulk source as a context object. The source can be used to execute another code.
3329
3430
source -- JavaScript code to bulk.
35-
cwd -- Directory where call JavaScript runtime. It may be ignored for some runtime.
31+
cwd -- Directory where call JavaScript runtime. It may be ignored in some derived class.
3632
'''
3733
ifnotself.is_available():
3834
raiseexecjs.RuntimeUnavailableError
@@ -42,14 +38,6 @@ def compile(self, source, cwd=None):
4238
defis_available(self):
4339
raiseNotImplementedError
4440

45-
@abstractmethod
46-
def_exec_(self, source, cwd=None):
47-
raiseNotImplementedError
48-
4941
@abstractmethod
5042
def_compile(self, source, cwd=None):
5143
raiseNotImplementedError
52-
53-
@abstractmethod
54-
def_eval(self, source, cwd=None):
55-
raiseNotImplementedError

‎execjs/_external_runtime.py‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,6 @@ def name(self):
4444
defis_available(self):
4545
returnself._available
4646

47-
def_exec_(self, source, cwd=None):
48-
returnself.Context(self, cwd=cwd).exec_(source)
49-
50-
def_eval(self, source, cwd=None):
51-
returnself.Context(self, cwd=cwd).eval(source)
52-
5347
def_compile(self, source, cwd=None):
5448
returnself.Context(self, source, cwd=cwd)
5549

‎execjs/_pyv8runtime.py‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,6 @@ def __init__(self):
2323
defname(self):
2424
return"PyV8"
2525

26-
def_exec_(self, source, cwd=None):
27-
returnself.Context().exec_(source)
28-
29-
def_eval(self, source, cwd=None):
30-
returnself.Context().eval(source)
31-
3226
def_compile(self, source, cwd=None):
3327
returnself.Context(source)
3428

0 commit comments

Comments
(0)