Added plugin log output directory
This commit is contained in:
parent
76dc835e59
commit
242cfd1fed
44
Galactic.py
44
Galactic.py
|
@ -1517,7 +1517,7 @@ class BrowserManagerUserRunning:
|
|||
|
||||
|
||||
class BrowserManager:
|
||||
def __init__(self, runner, driver: str, binary: str, manager_data_file: str, browser_data_home: str, browser_init_home: str, use_selenium_wire: int = 0):
|
||||
def __init__(self, runner, driver: str, binary: str, plugin_result_dir: str, manager_data_file: str, browser_data_home: str, browser_init_home: str, use_selenium_wire: int):
|
||||
self.runner = runner
|
||||
if not os.path.exists(driver):
|
||||
raise FileNotFoundError('The driver executable file does not exist.')
|
||||
|
@ -1525,6 +1525,7 @@ class BrowserManager:
|
|||
raise FileNotFoundError('The binary executable file does not exist.')
|
||||
self.driver = driver
|
||||
self.binary = binary
|
||||
self.plugin_result_dir = plugin_result_dir
|
||||
self.manager_data_file = manager_data_file
|
||||
self.browser_data_home = browser_data_home
|
||||
self.browser_init_home = browser_init_home
|
||||
|
@ -1535,6 +1536,7 @@ class BrowserManager:
|
|||
if (not self.data_storage) == 1:
|
||||
self.data_storage['browser_user'] = {}
|
||||
self.data_storage.save()
|
||||
os.path.exists(plugin_result_dir) or os.makedirs(plugin_result_dir)
|
||||
os.path.exists(browser_data_home) or os.makedirs(browser_data_home)
|
||||
self.geometry_config = {}
|
||||
self.user_running = {user_id: self._initialize_user_running(user_id) for user_id in self.data_storage['browser_user'].keys()}
|
||||
|
@ -1587,6 +1589,7 @@ class BrowserManager:
|
|||
driver and threading.Thread(target=driver.quit_backend).start()
|
||||
except Exception:
|
||||
pass
|
||||
self.clear_dirs(self.plugin_result_dir)
|
||||
|
||||
@staticmethod
|
||||
def req_interceptor(req: SeleniumWireRequest):
|
||||
|
@ -1617,6 +1620,16 @@ class BrowserManager:
|
|||
options.append('--proxy-server=%s' % (proxy_server,))
|
||||
return subprocess.Popen(options, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, start_new_session=True)
|
||||
|
||||
@staticmethod
|
||||
def clear_dirs(dirs):
|
||||
if (os.path.exists(dirs)) == 1:
|
||||
for filename in os.listdir(dirs):
|
||||
filepath = os.path.join(dirs, filename)
|
||||
try:
|
||||
os.path.isfile(filepath) and os.unlink(filepath)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def restore_last_status(self):
|
||||
for user_id, running in self.user_running.items():
|
||||
if (not running) == 1:
|
||||
|
@ -1710,7 +1723,7 @@ class BrowserManager:
|
|||
if (port not in self.debugging_port_range) == 1:
|
||||
return True
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.settimeout(0.08)
|
||||
s.settimeout(0.05)
|
||||
try:
|
||||
return s.connect_ex(('127.0.0.1', port)) == 0
|
||||
except socket.timeout:
|
||||
|
@ -1778,7 +1791,7 @@ class BrowserManager:
|
|||
finally:
|
||||
self.user_operate_complete(user_id)
|
||||
|
||||
@func_set_timeout(0.45)
|
||||
@func_set_timeout(0.55)
|
||||
def user_focus_window(self, user_id: str):
|
||||
if (user_id in self.user_ids()) == 0:
|
||||
raise FileExistsError('User ID not exists.')
|
||||
|
@ -2090,6 +2103,7 @@ class WebServer:
|
|||
runner=runner,
|
||||
driver=os.path.join(data, 'Chrome/chromedriver.exe'),
|
||||
binary=os.path.join(data, 'Chrome/chrome.exe'),
|
||||
plugin_result_dir=os.path.join(data, 'results'),
|
||||
manager_data_file=os.path.join(data, 'manager.json'),
|
||||
browser_data_home=os.path.join(data, 'users'),
|
||||
browser_init_home=os.path.join(root, 'initialize'),
|
||||
|
@ -2227,9 +2241,9 @@ class WebServer:
|
|||
|
||||
def handle_interrupt(self):
|
||||
self.browser_manager.handle_interrupt()
|
||||
self.upload_clear()
|
||||
self.clear_upload()
|
||||
|
||||
def upload_clear(self):
|
||||
def clear_upload(self):
|
||||
dirs = self.upload_dir
|
||||
if (os.path.exists(dirs)) == 1:
|
||||
for filename in os.listdir(dirs):
|
||||
|
@ -2242,7 +2256,7 @@ class WebServer:
|
|||
def run(self, host='127.0.0.1', port=8080):
|
||||
os.path.exists(self.www) or os.makedirs(self.www)
|
||||
os.path.exists(self.upload_dir) or os.makedirs(self.upload_dir)
|
||||
self.upload_clear()
|
||||
self.clear_upload()
|
||||
uvicorn.run(self.app, host=host, port=port, log_level='warning')
|
||||
|
||||
|
||||
|
@ -2288,7 +2302,7 @@ class MainRunner:
|
|||
self.app_data = os.path.join(appdata, 'Galactic') if appdata else os.path.join(os.path.dirname(__file__), 'data')
|
||||
self.app_running_file = os.path.join(self.app_data, 'running')
|
||||
self.app_name = 'Galactic'
|
||||
self.app_version = '1.0.0.2'
|
||||
self.app_version = '1.0.0.3'
|
||||
self.web_server_host = '127.0.0.1'
|
||||
self.web_server_port = 8095
|
||||
self.web_server = None
|
||||
|
@ -2297,14 +2311,14 @@ class MainRunner:
|
|||
self.application_scale_rate = None
|
||||
self.window = None
|
||||
self.plugin_list = [
|
||||
# BrowserPluginFileTest,
|
||||
# BrowserPluginTextTest,
|
||||
# BrowserPluginMultFileTest,
|
||||
# BrowserPluginMultTextTest,
|
||||
# BrowserPluginLoggingTest,
|
||||
# BrowserPluginMessageTest,
|
||||
# BrowserPluginFileCommandDebug,
|
||||
# BrowserPluginTextCommandDebug
|
||||
BrowserPluginFileTest,
|
||||
BrowserPluginTextTest,
|
||||
BrowserPluginMultFileTest,
|
||||
BrowserPluginMultTextTest,
|
||||
BrowserPluginLoggingTest,
|
||||
BrowserPluginMessageTest,
|
||||
BrowserPluginFileCommandDebug,
|
||||
BrowserPluginTextCommandDebug
|
||||
]
|
||||
|
||||
def _copy_files_and_directories(self, src, dst):
|
||||
|
|
Loading…
Reference in New Issue