open the ui as soon as UIManager finishes setting itself up

This commit is contained in:
Jack 2017-01-03 11:44:29 -05:00
parent 5233dc303e
commit 5f8a06443c
4 changed files with 9 additions and 11 deletions

View file

@ -291,7 +291,7 @@ class Daemon(AuthJSONRPCServer):
self.lbry_file_manager = None self.lbry_file_manager = None
@defer.inlineCallbacks @defer.inlineCallbacks
def setup(self): def setup(self, launch_ui):
self._modify_loggly_formatter() self._modify_loggly_formatter()
def _announce_startup(): def _announce_startup():
@ -329,7 +329,7 @@ class Daemon(AuthJSONRPCServer):
if conf.settings.host_ui: if conf.settings.host_ui:
self.lbry_ui_manager.update_checker.start(1800, now=False) self.lbry_ui_manager.update_checker.start(1800, now=False)
yield self.lbry_ui_manager.setup() yield self.lbry_ui_manager.setup(launch=launch_ui)
yield self._initial_setup() yield self._initial_setup()
yield threads.deferToThread(self._setup_data_directory) yield threads.deferToThread(self._setup_data_directory)
yield self._check_db_migration() yield self._check_db_migration()

View file

@ -2,7 +2,6 @@ from lbrynet.core import log_support
import argparse import argparse
import logging.handlers import logging.handlers
import webbrowser
from twisted.internet import defer, reactor from twisted.internet import defer, reactor
from jsonrpc.proxy import JSONRPCProxy from jsonrpc.proxy import JSONRPCProxy
@ -129,9 +128,7 @@ def start_server_and_listen(launchui, use_auth, analytics_manager):
log_support.configure_analytics_handler(analytics_manager) log_support.configure_analytics_handler(analytics_manager)
try: try:
daemon_server = DaemonServer(analytics_manager) daemon_server = DaemonServer(analytics_manager)
yield daemon_server.start(use_auth) yield daemon_server.start(use_auth, launchui)
if launchui:
yield webbrowser.open(conf.settings.UI_ADDRESS)
analytics_manager.send_server_startup_success() analytics_manager.send_server_startup_success()
except Exception as e: except Exception as e:
log.exception('Failed to startup') log.exception('Failed to startup')

View file

@ -43,9 +43,9 @@ class DaemonServer(object):
return defer.succeed(True) return defer.succeed(True)
@defer.inlineCallbacks @defer.inlineCallbacks
def start(self, use_auth): def start(self, use_auth, launch_ui=False):
yield self._setup_server(use_auth) yield self._setup_server(use_auth)
yield self._api.setup() yield self._api.setup(launch_ui)
def get_site_base(use_auth, root): def get_site_base(use_auth, root):

View file

@ -2,6 +2,7 @@ import os
import logging import logging
import shutil import shutil
import json import json
import webbrowser
from urllib2 import urlopen from urllib2 import urlopen
from StringIO import StringIO from StringIO import StringIO
from zipfile import ZipFile from zipfile import ZipFile
@ -15,8 +16,6 @@ from lbrynet.lbrynet_daemon.Resources import NoCacheStaticFile
from lbrynet import __version__ as lbrynet_version from lbrynet import __version__ as lbrynet_version
from lbryum.version import LBRYUM_VERSION as lbryum_version from lbryum.version import LBRYUM_VERSION as lbryum_version
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -60,7 +59,7 @@ class UIManager(object):
self.loaded_branch = None self.loaded_branch = None
self.loaded_requirements = None self.loaded_requirements = None
def setup(self, branch=None, check_requirements=None, user_specified=None): def setup(self, branch=None, check_requirements=None, user_specified=None, launch=False):
local_ui_path = user_specified or conf.settings.local_ui_path local_ui_path = user_specified or conf.settings.local_ui_path
self.branch = branch or conf.settings.ui_branch self.branch = branch or conf.settings.ui_branch
@ -95,6 +94,8 @@ class UIManager(object):
d = self._up_to_date() d = self._up_to_date()
d.addCallback(lambda r: self._download_ui() if not r else self._load_ui()) d.addCallback(lambda r: self._download_ui() if not r else self._load_ui())
if launch:
d.addCallback(lambda _: webbrowser.open(conf.settings.UI_ADDRESS))
return d return d
def _check_for_bundled_ui(self): def _check_for_bundled_ui(self):