mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-07-08 07:33:45 +02:00
uploading data to multiple hosts
This commit is contained in:
@@ -392,10 +392,10 @@ def download_data(*, settings, download_type=DownloadType.ALL, callback=log, fil
|
||||
|
||||
|
||||
def upload_data(*, settings, download_type=DownloadType.ALL, remove_unused=False,
|
||||
callback=log, done_callback=None, use_http=False, files_filter=None):
|
||||
callback=log, done_callback=None, use_http=False, files_filter=None, ext_host=None):
|
||||
s_type = settings.setting_type
|
||||
data_path = settings.profile_data_path
|
||||
host, port, use_ssl = settings.host, settings.http_port, settings.http_use_ssl
|
||||
host, port, use_ssl = ext_host or settings.host, settings.http_port, settings.http_use_ssl
|
||||
user, password = settings.user, settings.password
|
||||
base_url = f"http{'s' if use_ssl else ''}://{host}:{port}"
|
||||
base = "web" if s_type is SettingsType.ENIGMA_2 else "control"
|
||||
|
||||
@@ -2045,15 +2045,23 @@ class Application(Gtk.Application):
|
||||
|
||||
@run_task
|
||||
def upload_data(self, download_type):
|
||||
try:
|
||||
profile = self._s_type
|
||||
opts = self._settings
|
||||
use_http = profile is SettingsType.ENIGMA_2 and opts.use_http
|
||||
upload_data(settings=opts, download_type=download_type, remove_unused=True, use_http=use_http)
|
||||
except Exception as e:
|
||||
msg = "Uploading data error: {}"
|
||||
log(msg.format(e), debug=self._settings.debug_mode, fmt_message=msg)
|
||||
self.show_error_message(str(e))
|
||||
opts = self._settings
|
||||
use_http = self._s_type is SettingsType.ENIGMA_2 and opts.use_http
|
||||
multiple = len(self._settings.hosts) > 1
|
||||
for host in self._settings.hosts:
|
||||
if multiple:
|
||||
log(f"##### Uploading data on [{host}] #####")
|
||||
try:
|
||||
upload_data(settings=opts,
|
||||
download_type=download_type,
|
||||
remove_unused=True,
|
||||
use_http=use_http,
|
||||
ext_host=host)
|
||||
except Exception as e:
|
||||
msg = "Uploading data error: {}"
|
||||
log(msg.format(e), debug=self._settings.debug_mode, fmt_message=msg)
|
||||
if host == self._settings.host:
|
||||
self.show_error_message(str(e))
|
||||
|
||||
def on_data_open(self, action=None, value=None):
|
||||
""" Opening data via "File/Open". """
|
||||
|
||||
@@ -373,7 +373,7 @@ class SettingsDialog:
|
||||
|
||||
self._s_type = SettingsType.ENIGMA_2 if self._enigma_radio_button.get_active() else SettingsType.NEUTRINO_MP
|
||||
self._settings.setting_type = self._s_type
|
||||
self._settings.host = self._hosts_box.get_active_id()
|
||||
self._settings.host = self._host_field.get_text()
|
||||
self._settings.hosts = [h[1] for h in self._hosts_box.get_model()]
|
||||
self._settings.port = self._port_field.get_text()
|
||||
self._settings.user = self._login_field.get_text()
|
||||
|
||||
Reference in New Issue
Block a user