def start_gateways(self): nodedirs = get_nodedirs(config_dir) if nodedirs: minimize_preference = get_preference('startup', 'minimize') if not minimize_preference or minimize_preference == 'false': self.gui.show_main_window() yield self.select_executable() tor_available = yield get_tor(reactor) logging.debug("Starting Tahoe-LAFS gateway(s)...") for nodedir in nodedirs: gateway = Tahoe(nodedir, executable=self.executable) tcp = gateway.config_get('connections', 'tcp') if tcp == 'tor' and not tor_available: msg.error( self.gui.main_window, "Error Connecting To Tor Daemon", 'The "{}" connection is configured to use Tor, ' 'however, no running tor daemon was found.\n\n' 'This connection will be disabled until you launch ' 'Tor again.'.format(gateway.name)) self.gateways.append(gateway) d = gateway.start() d.addCallback(gateway.ensure_folder_links) self.gui.populate(self.gateways) else: self.gui.show_welcome_dialog() yield self.select_executable()
def start(self): self.initialize_logger(self.args.debug) try: os.makedirs(config_dir) except OSError: pass # Acquire a filesystem lock to prevent multiple instances from running lock = FilesystemLock( os.path.join(config_dir, "{}.lock".format(APP_NAME))) lock.acquire() logging.debug("Core starting with args: %s", self.args) logging.debug("Loaded config.txt settings: %s", settings) self.show_message() self.gui = Gui(self) self.gui.show_systray() reactor.callLater(0, self.start_gateways) reactor.run() for nodedir in get_nodedirs(config_dir): Tahoe(nodedir, executable=self.executable).kill() lock.release()
def start(self): # Listen on a port to prevent multiple instances from running reactor.listenTCP(52045, CoreFactory(), interface='localhost') try: os.makedirs(config_dir) except OSError: pass logging.info("Core starting with args: %s", self.args) logging.debug("$PATH is: %s", os.getenv('PATH')) logging.debug("Loaded config.txt settings: %s", settings) self.gui = Gui(self) self.gui.show_systray() reactor.callLater(0, self.start_gateways) reactor.run() for nodedir in get_nodedirs(config_dir): Tahoe(nodedir, executable=self.executable).kill()
def start_gateways(self): nodedirs = get_nodedirs(config_dir) if nodedirs: minimize_preference = get_preference("startup", "minimize") if not minimize_preference or minimize_preference == "false": self.gui.show_main_window() yield self.select_executable() tor_available = yield get_tor(reactor) logging.debug("Starting Tahoe-LAFS gateway(s)...") for nodedir in nodedirs: gateway = Tahoe(nodedir, executable=self.executable) tcp = gateway.config_get("connections", "tcp") if tcp == "tor" and not tor_available: logging.error("No running tor daemon found") msg.error( self.gui.main_window, "Error Connecting To Tor Daemon", 'The "{}" connection is configured to use Tor, ' "however, no running tor daemon was found.\n\n" "This connection will be disabled until you launch " "Tor again.".format(gateway.name), ) self.gateways.append(gateway) d = gateway.start() d.addCallback(gateway.ensure_folder_links) self.gui.populate(self.gateways) else: self.gui.show_welcome_dialog() yield self.select_executable() try: yield self.get_tahoe_version() except Exception as e: # pylint: disable=broad-except logging.critical("Error getting Tahoe-LAFS version") msg.critical( "Error getting Tahoe-LAFS version", "{}: {}".format(type(e).__name__, str(e)), ) reactor.stop()
def start_gateways(self): nodedirs = get_nodedirs(config_dir) if nodedirs: yield self.select_executable() logging.debug("Starting Tahoe-LAFS gateway(s)...") for nodedir in nodedirs: gateway = Tahoe(nodedir, executable=self.executable) self.gateways.append(gateway) gateway.start() self.gui.populate(self.gateways) else: defaults = settings['default'] if defaults['provider_name']: nodedir = os.path.join(config_dir, defaults['provider_name']) yield self.select_executable() gateway = Tahoe(nodedir, executable=self.executable) self.gateways.append(gateway) # TODO: Show setup progress dialog yield gateway.create_client(**defaults) gateway.start() self.gui.populate(self.gateways) else: self.gui.show_setup_form() yield self.select_executable()
def start_gateways(self): nodedirs = get_nodedirs(config_dir) if nodedirs: minimize_preference = get_preference('startup', 'minimize') if not minimize_preference or minimize_preference == 'false': self.gui.show_main_window() yield self.select_executable() logging.debug("Starting Tahoe-LAFS gateway(s)...") for nodedir in nodedirs: gateway = Tahoe( nodedir, executable=self.executable, multi_folder_support=self.multi_folder_support ) self.gateways.append(gateway) d = gateway.start() d.addCallback(gateway.ensure_folder_links) self.gui.populate(self.gateways) else: defaults = settings['default'] if defaults['provider_name']: nodedir = os.path.join(config_dir, defaults['provider_name']) yield self.select_executable() gateway = Tahoe( nodedir, executable=self.executable, multi_folder_support=self.multi_folder_support ) self.gateways.append(gateway) # TODO: Show setup progress dialog yield gateway.create_client(**defaults) gateway.start() self.gui.populate(self.gateways) else: self.gui.show_welcome_dialog() yield self.select_executable()
def test_get_nodedirs_empty(tahoe, tmpdir_factory): basedir = os.path.join(str(tmpdir_factory.getbasetemp()), 'non-existent') assert get_nodedirs(basedir) == []
def test_get_nodedirs(tahoe, tmpdir_factory): basedir = str(tmpdir_factory.getbasetemp()) assert tahoe.nodedir in get_nodedirs(basedir)
def stop_gateways(self): logging.debug("Stopping Tahoe-LAFS gateway(s)...") tasks = [] for nodedir in get_nodedirs(config_dir): tasks.append(Tahoe(nodedir, executable=self.executable).stop()) yield DeferredList(tasks)