def main(): if detect_stub(): from solipsis.node import main as node_main node_main.main() sys.exit(0) params = build_params() # If an URL has been specified, try to connect to a running navigator if params.url_jump: filename = os.path.join('state', 'url_jump.port') try: f = file(filename, 'rb') url_port = int(f.read()) f.close() except (IOError, EOFError, ValueError): pass else: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect(('127.0.0.1', url_port)) except socket.error: pass else: s.send(params.url_jump + '\r\n') s.close() sys.exit(0) application = NavigatorApp(redirect=False, params=params) try: application.MainLoop() except (SystemExit, KeyboardInterrupt): pass sys.exit(0)
def run(): # get conf file solipsis_path = os.path.abspath(os.path.dirname(solipsis.__file__)) root_path = os.path.normpath(os.sep.join([solipsis_path, ".."])) conf_file = os.sep.join([root_path, "conf", "solipsis.conf"]) # get options parser = optparse.OptionParser(USAGE) parser.add_option("-t", "--testing", action="store_true", dest="testing", default=False, help="execute within trial testing framework") parser.add_option("-p", "--port", action="store", dest="port", default=LOCAL_PORT, help="port which navigator listens to") parser.add_option("-f", "--config-file", action="store", dest="conf_file", default=conf_file, help="file to read configuration from") options, args = parser.parse_args() sys.argv = [] # app needs conf env os.chdir(root_path) # launch application params = build_params(options.conf_file) params.testing = options.testing params.local_port = int(options.port) try: navigator = NavigatorApp(params=params) except CannotListenError, err: print err
def start_listening(self, conf_file=None): """launch well-known server of profiles""" self.local_port = get_free_port() # define callbacks on public_ip discovery def _stun_succeed(address): """Discovery succeeded""" self.public_ip, self.public_port = address display_status(_("STUN discovery found address %s:%d" % (self.public_ip, self.public_port))) self.listener = reactor.listenTCP(self.local_port, self) return True def _stun_fail(failure): self.public_ip, self.public_port = self.local_ip, self.local_port display_warning(_("STUN failed:", failure.getErrorMessage()), title=_("File server Error")) self.listener = reactor.listenTCP(self.local_port, self) return False # get public ip deferred = stun.DiscoverAddress(self.local_port, reactor, build_params(conf_file)) deferred.addCallback(_stun_succeed) deferred.addErrback(_stun_fail) return deferred
def run(conf_file=None): application = NavigatorApp(params=build_params(conf_file)) return application
def main(): application = NavigatorApp(params=build_params(), log_file="session.log") application.startListening() application.run()
def run(): # get conf file solipsis_path = os.path.abspath(os.path.dirname(solipsis.__file__)) root_path = os.path.normpath(os.sep.join([solipsis_path, ".."])) conf_file = os.sep.join([root_path, "conf", "solipsis.conf"]) # get options parser = optparse.OptionParser(USAGE) parser.add_option("-t", "--testing", action="store_true", dest="testing", default=False, help="execute within trial testing framework") parser.add_option("-p", "--port", action="store", dest="port", default=LOCAL_PORT, help="port which navigator listens to") parser.add_option("-f", "--config-file", action="store", dest="conf_file", default=conf_file, help="file to read configuration from") parser.add_option("-B", "--pseudo-bruce", action="store_true", dest="bruce", default=False, help="bruce profile") parser.add_option("-T", "--pseudo-test", action="store_true", dest="test", default=False, help="test profile") options, args = parser.parse_args() # set pseudo if len(args) == 1: pseudo = os.path.join(PROFILE_DIR, args[0]) else: if options.bruce: pseudo = FILE_BRUCE elif options.test: pseudo = FILE_TEST else: print USAGE sys.exit(1) sys.argv = [] # app needs conf env os.chdir(root_path) params = build_params(options.conf_file) params.testing = options.testing params.local_port = int(options.port) params.node_id = pseudo params.pseudo = pseudo # launch application try: print "Pseudo:", pseudo navigator = NavigatorApp(params=params) def on_error(failure): print "***", failure.getErrorMessage() def on_connect(result): src_path = pseudo + PROFILE_EXT dst_path = os.path.join(PROFILE_DIR, get_facade()._desc.node_id + PROFILE_EXT) shutil.copyfile(src_path, dst_path) get_facade().load() print src_path, ">", dst_path deferred = defer.Deferred().addCallbacks(on_connect, on_error) def on_init(result): navigator._TryConnect(deferred) navigator.addCallbacks(on_init, on_error) navigator.startListening() except CannotListenError, err: print err