def __init__(self): # Prepare stuff init_logging() set_logging_level(VERBOSE, DEBUG) log.info("Initializing...") # ready field is set to True while connection to Syncthing # daemon is maintained. self.ready = False try: self.daemon = Daemon() except Exception as e: # Syncthing is not configured, most likely never launched. log.error("%s", e) log.error("Failed to read Syncthing configuration.") return # List of known repos + their states self.repos = {} self.rid_to_path = {} self.path_to_rid = {} # Dict of known repos -> set of associated devices self.rid_to_dev = {} # Set of online devices self.online_nids = set() # Set of online repos (at least one associated device connected) self.onlide_rids = set() # List (cache) for folders that are known to be placed below # some syncthing repo self.subfolders = set() # List (cache) for files that plugin were asked about self.files = {} self.downloads = set() # List of all ignore patterns and paths self.ignore_patterns = {} self.ignore_paths = {} # Connect to Daemon object signals self.daemon.connect("connected", self.cb_connected) self.daemon.connect("connection-error", self.cb_syncthing_con_error) self.daemon.connect("disconnected", self.cb_syncthing_disconnected) self.daemon.connect("device-connected", self.cb_device_connected) self.daemon.connect("device-disconnected", self.cb_device_disconnected) self.daemon.connect("folder-added", self.cb_syncthing_folder_added) self.daemon.connect("folder-scan-started", self.cb_syncthing_folder_scan_started) self.daemon.connect("folder-sync-started", self.cb_syncthing_folder_state_changed, STATE_SYNCING) self.daemon.connect("folder-sync-finished", self.cb_syncthing_folder_state_changed, STATE_IDLE) self.daemon.connect("folder-stopped", self.cb_syncthing_folder_stopped) self.daemon.connect("item-started", self.cb_syncthing_item_started) self.daemon.connect("item-updated", self.cb_syncthing_item_updated) log.info("Initialized.") # Let Daemon object connect to Syncthing self.daemon.set_refresh_interval(20) self.daemon.reconnect()
def __init__(self): # Prepare stuff init_logging() set_logging_level(VERBOSE, DEBUG) log.info("Initializing...") # ready field is set to True while connection to Syncthing # daemon is maintained. self.ready = False try: self.daemon = Daemon() except Exception, e: # Syncthing is not configured, most likely never launched. log.error("%s", e) log.error("Failed to read Syncthing configuration.") return
def __init__(self): # Prepare stuff init_logging() set_logging_level(VERBOSE, DEBUG) log.info("Initializing...") # ready field is set to True while connection to Syncthing # daemon is maintained. self.ready = False try: self.daemon = Daemon() except Exception as e: # Syncthing is not configured, most likely never launched. log.error("%s", e) log.error("Failed to read Syncthing configuration.") return # List of known repos + their states self.repos = {} self.rid_to_path = {} self.path_to_rid = {} # Dict of known repos -> set of associated devices self.rid_to_dev = {} # Set of online devices self.online_nids = set() # Set of online repos (at least one associated device connected) self.onlide_rids = set() # List (cache) for folders that are known to be placed below # some syncthing repo self.subfolders = set() # List (cache) for files that plugin were asked about self.files = {} self.downloads = set() # Connect to Daemon object signals self.daemon.connect("connected", self.cb_connected) self.daemon.connect("connection-error", self.cb_syncthing_con_error) self.daemon.connect("disconnected", self.cb_syncthing_disconnected) self.daemon.connect("device-connected", self.cb_device_connected) self.daemon.connect("device-disconnected", self.cb_device_disconnected) self.daemon.connect("folder-added", self.cb_syncthing_folder_added) self.daemon.connect("folder-sync-started", self.cb_syncthing_folder_state_changed, STATE_SYNCING) self.daemon.connect("folder-sync-finished", self.cb_syncthing_folder_state_changed, STATE_IDLE) self.daemon.connect("folder-stopped", self.cb_syncthing_folder_stopped) self.daemon.connect("item-started", self.cb_syncthing_item_started) self.daemon.connect("item-updated", self.cb_syncthing_item_updated) log.info("Initialized.") # Let Daemon object connect to Syncthing self.daemon.reconnect()
#!/usr/bin/env python2 import os, sys, signal def sigint(*a): print("\n*break*") sys.exit(0) if __name__ == "__main__": signal.signal(signal.SIGINT, sigint) from syncthing_gtk.tools import init_logging, IS_WINDOWS init_logging() if IS_WINDOWS: from syncthing_gtk import windows, Configuration config = Configuration() if config["force_dark_theme"]: os.environ["GTK_THEME"] = "Adwaita:dark" windows.fix_localized_system_error_messages() windows.dont_use_localization_in_gtk() windows.override_menu_borders() from gi.repository import Gtk Gtk.IconTheme.get_default().prepend_search_path(os.path.abspath(os.path.join(os.getcwd(), "icons", "32x32", "apps"))) Gtk.IconTheme.get_default().prepend_search_path(os.path.abspath(os.path.join(os.getcwd(), "icons"))) from gi.repository import Gtk Gtk.IconTheme.get_default().append_search_path(os.path.join(os.getcwd(), "icons")) from syncthing_gtk import App App(".", "./icons").run(sys.argv)
import os, sys, signal, gi def sigint(*a): print("\n*break*") sys.exit(0) if __name__ == "__main__": signal.signal(signal.SIGINT, sigint) gi.require_version('Gtk', '3.0') gi.require_version('Rsvg', '2.0') from syncthing_gtk.tools import init_logging, init_locale, IS_WINDOWS init_logging() if IS_WINDOWS: from syncthing_gtk.windows import (enable_localization, fix_localized_system_error_messages, override_menu_borders) from syncthing_gtk.configuration import Configuration config = Configuration() if config["force_dark_theme"]: os.environ["GTK_THEME"] = "Adwaita:dark" if config["language"] not in ("", "None", None): os.environ["LANGUAGE"] = config["language"] enable_localization() init_locale("locale/")