Skip to content

Commit

Permalink
Merge pull request ZeroNetX#156 from zeronet-conservancy/fix_open_bro…
Browse files Browse the repository at this point in the history
…wser

consolidate & fix open browser behaviour
  • Loading branch information
caryoscelus committed Sep 7, 2022
2 parents 579a328 + f7b0090 commit c5876b1
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 30 deletions.
18 changes: 2 additions & 16 deletions src/Ui/UiServer.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from Debug import Debug
import importlib

from util import helper

# Skip websocket handler if not necessary
class UiWSGIHandler(WebSocketHandler):
Expand Down Expand Up @@ -144,22 +145,7 @@ def start(self):
self.log.info("Web interface: http://%s:%s/" % (config.ui_ip, config.ui_port))
self.log.info("--------------------------------------")

if config.open_browser and config.open_browser != "False":
logging.info("Opening browser: %s...", config.open_browser)
import webbrowser
ui_ip = config.ui_ip if config.ui_ip != "*" else "127.0.0.1"
url = f'http://{ui_ip}:{config.ui_port}/{config.homepage}'
try:
if config.open_browser == "default_browser":
browser = webbrowser.get()
else:
browser = webbrowser.get(config.open_browser)
gevent.spawn_later(0.3, browser.open, url, new=2)
except webbrowser.Error as err:
import subprocess
subprocess.Popen([config.open_browser, url])
except Exception as err:
print("Error starting browser: %s" % err)
helper.openBrowser(config.open_browser)

self.server = WSGIServer((self.ip, self.port), handler, handler_class=UiWSGIHandler, log=self.log)
self.server.sockets = {}
Expand Down
16 changes: 2 additions & 14 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,20 +69,8 @@ def init_dirs():
lock = helper.openLocked("%s/lock.pid" % config.data_dir, "w")
lock.write("%s" % os.getpid())
except BlockingIOError as err:
startupError("Can't open lock file, your ZeroNet client is probably already running, exiting... (%s)" % err)
if config.open_browser and config.open_browser != "False":
print("Opening browser: %s...", config.open_browser)
import webbrowser
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:
startupError("Error starting browser: %s" % err)
startupError(f"Can't open lock file, your 0net client is probably already running, exiting... ({err})")
helper.openBrowser(config.open_browser)
sys.exit()

config.initLogging()
Expand Down
11 changes: 11 additions & 0 deletions src/util/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,3 +354,14 @@ def wrapper(*args, **kwargs):
yield back.encode()

return wrapper

def openBrowser(agent):
if agent and agent != "False":
print(f"Opening browser: {agent}...")
ui_ip = config.ui_ip if config.ui_ip != "*" else "127.0.0.1"
url = f'http://{ui_ip}:{config.ui_port}/{config.homepage}'
try:
import subprocess
subprocess.Popen([config.open_browser, url])
except Exception as err:
print(f"Error starting browser: {err}")

0 comments on commit c5876b1

Please sign in to comment.