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):
if section != "global": # If not global prefix key with section
key = section + "_" + key
to_end = key == "open_browser" # Prefer config value over argument
argv_extend = ["--%s" % key]
if val:
for line in val.strip().split("\n"): # Allow multi-line values
argv.insert(1, line)
argv.insert(1, "--%s" % key)
argv_extend.append(line)
if to_end:
argv = argv[:-2] + argv_extend + argv[-2:]
else:
argv = argv[:1] + argv_extend + argv[1:]
return argv
# 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("--------------------------------------")
if config.open_browser:
if config.open_browser and config.open_browser != "False":
logging.info("Opening browser: %s...", config.open_browser)
import webbrowser
if config.open_browser == "default_browser":
browser = webbrowser.get()
else:
browser = webbrowser.get(config.open_browser)
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)
try:
if config.open_browser == "default_browser":
browser = webbrowser.get()
else:
browser = webbrowser.get(config.open_browser)
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.sockets = {}

View File

@ -59,14 +59,17 @@ if config.action == "main":
lock.write("%s" % os.getpid())
except IOError as 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
import webbrowser
if config.open_browser == "default_browser":
browser = webbrowser.get()
else:
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)
try:
if config.open_browser == "default_browser":
browser = webbrowser.get()
else:
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()
if os.path.isfile("%s/debug.log" % config.log_dir): # Simple logrotate