Support open_browser disable even if it's started with start.py

This commit is contained in:
shortcutme 2018-07-10 03:37:38 +02:00
parent 68eb9a37ca
commit 656f48b354
No known key found for this signature in database
GPG Key ID: 5B63BAE6CB9613AE
3 changed files with 28 additions and 15 deletions

View File

@ -385,10 +385,17 @@ class Config(object):
for key, val in config.items(section): for key, val in config.items(section):
if section != "global": # If not global prefix key with section if section != "global": # If not global prefix key with section
key = section + "_" + key key = section + "_" + key
to_end = key == "open_browser" # Prefer config value over argument
argv_extend = ["--%s" % key]
if val: if val:
for line in val.strip().split("\n"): # Allow multi-line values for line in val.strip().split("\n"): # Allow multi-line values
argv.insert(1, line) argv_extend.append(line)
argv.insert(1, "--%s" % key)
if to_end:
argv = argv[:-2] + argv_extend + argv[-2:]
else:
argv = argv[:1] + argv_extend + argv[1:]
return argv return argv
# Expose arguments as class attributes # Expose arguments as class attributes

View File

@ -137,15 +137,18 @@ class UiServer:
self.log.info("Web interface: http://%s:%s/" % (config.ui_ip, config.ui_port)) self.log.info("Web interface: http://%s:%s/" % (config.ui_ip, config.ui_port))
self.log.info("--------------------------------------") self.log.info("--------------------------------------")
if config.open_browser: if config.open_browser and config.open_browser != "False":
logging.info("Opening browser: %s...", config.open_browser) logging.info("Opening browser: %s...", config.open_browser)
import webbrowser import webbrowser
if config.open_browser == "default_browser": try:
browser = webbrowser.get() if config.open_browser == "default_browser":
else: browser = webbrowser.get()
browser = webbrowser.get(config.open_browser) else:
url = "http://%s:%s/%s" % (config.ui_ip if config.ui_ip != "*" else "127.0.0.1", config.ui_port, config.homepage) browser = webbrowser.get(config.open_browser)
gevent.spawn_later(0.3, browser.open, url, new=2) url = "http://%s:%s/%s" % (config.ui_ip if config.ui_ip != "*" else "127.0.0.1", config.ui_port, config.homepage)
gevent.spawn_later(0.3, browser.open, url, new=2)
except Exception as err:
print "Error starting browser: %s" % err
self.server = WSGIServer((self.ip, self.port), handler, handler_class=UiWSGIHandler, log=self.log) self.server = WSGIServer((self.ip, self.port), handler, handler_class=UiWSGIHandler, log=self.log)
self.server.sockets = {} self.server.sockets = {}

View File

@ -59,14 +59,17 @@ if config.action == "main":
lock.write("%s" % os.getpid()) lock.write("%s" % os.getpid())
except IOError as err: except IOError as err:
print "Can't open lock file, your ZeroNet client is probably already running, exiting... (%s)" % err print "Can't open lock file, your ZeroNet client is probably already running, exiting... (%s)" % err
if config.open_browser: if config.open_browser and config.open_browser != "False":
print "Opening browser: %s...", config.open_browser print "Opening browser: %s...", config.open_browser
import webbrowser import webbrowser
if config.open_browser == "default_browser": try:
browser = webbrowser.get() if config.open_browser == "default_browser":
else: browser = webbrowser.get()
browser = webbrowser.get(config.open_browser) else:
browser.open("http://%s:%s/%s" % (config.ui_ip if config.ui_ip != "*" else "127.0.0.1", config.ui_port, config.homepage), new=2) browser = webbrowser.get(config.open_browser)
browser.open("http://%s:%s/%s" % (config.ui_ip if config.ui_ip != "*" else "127.0.0.1", config.ui_port, config.homepage), new=2)
except Exception as err:
print "Error starting browser: %s" % err
sys.exit() sys.exit()
if os.path.isfile("%s/debug.log" % config.log_dir): # Simple logrotate if os.path.isfile("%s/debug.log" % config.log_dir): # Simple logrotate