Add check for webbrowser import which may not be available in all Python builds (like certain NAS devices).

This commit is contained in:
Tim
2015-09-17 21:04:10 +02:00
parent d23aaf91f7
commit 483f5825db

View File

@@ -17,11 +17,16 @@ import os
import sys import sys
import subprocess import subprocess
import threading import threading
import webbrowser
import sqlite3 import sqlite3
import cherrypy import cherrypy
import datetime import datetime
import uuid import uuid
# Some cut down versions of Python may not include this module and it's not critical for us
try:
import webbrowser
no_browser = False
except ImportError:
no_browser = True
from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger from apscheduler.triggers.interval import IntervalTrigger
@@ -228,18 +233,19 @@ def daemonize():
def launch_browser(host, port, root): def launch_browser(host, port, root):
if host == '0.0.0.0': if not no_browser:
host = 'localhost' if host == '0.0.0.0':
host = 'localhost'
if CONFIG.ENABLE_HTTPS: if CONFIG.ENABLE_HTTPS:
protocol = 'https' protocol = 'https'
else: else:
protocol = 'http' protocol = 'http'
try: try:
webbrowser.open('%s://%s:%i%s' % (protocol, host, port, root)) webbrowser.open('%s://%s:%i%s' % (protocol, host, port, root))
except Exception as e: except Exception as e:
logger.error('Could not launch browser: %s', e) logger.error('Could not launch browser: %s', e)
def initialize_scheduler(): def initialize_scheduler():