Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
S2-group
GitHub Repository: S2-group/android-runner
Path: blob/master/AndroidRunner/Python3.py
629 views
1
import os.path as op
2
import importlib
3
import sys
4
5
from .Script import Script
6
7
class Python3(Script):
8
def __init__(self, path, timeout=0, logcat_regex=None):
9
super(Python3, self).__init__(path, timeout, logcat_regex)
10
try:
11
print(f"Loading module {op.basename(path)} from {path}")
12
loader = importlib.machinery.SourceFileLoader(op.basename(path), op.join(path))
13
spec = importlib.util.spec_from_file_location(op.basename(path), op.join(path), loader=loader)
14
self.module = importlib.util.module_from_spec(spec)
15
16
# Cache the module for fast access in the future
17
sys.modules[self.module.__name__] = self.module
18
loader.exec_module(self.module)
19
20
self.logger.debug('Imported %s' % path)
21
except ImportError:
22
self.logger.error('Cannot import %s' % path)
23
raise ImportError("Cannot import %s" % path)
24
25
def execute_script(self, device, *args, **kwargs):
26
super(Python3, self).execute_script(device, *args, **kwargs)
27
return self.module.main(device, *args, **kwargs)
28
29