use UI downloaded to temp folder at startup
This commit is contained in:
parent
2486ae6d3f
commit
a55e3d8578
2 changed files with 26 additions and 7 deletions
|
@ -1120,6 +1120,10 @@ class LBRYDaemonCommandHandler(object):
|
||||||
|
|
||||||
|
|
||||||
class LBRYindex(resource.Resource):
|
class LBRYindex(resource.Resource):
|
||||||
|
def __init__(self, ui_dir):
|
||||||
|
resource.Resource.__init__(self)
|
||||||
|
self.ui_dir = ui_dir
|
||||||
|
|
||||||
isLeaf = False
|
isLeaf = False
|
||||||
|
|
||||||
def _delayed_render(self, request, results):
|
def _delayed_render(self, request, results):
|
||||||
|
@ -1136,7 +1140,7 @@ class LBRYindex(resource.Resource):
|
||||||
log.info(r)
|
log.info(r)
|
||||||
return "<html><table style='width:100%'>" + ''.join(r) + "</html>"
|
return "<html><table style='width:100%'>" + ''.join(r) + "</html>"
|
||||||
|
|
||||||
return static.File("./dist/index.html").render_GET(request)
|
return static.File(os.path.join(self.ui_dir, "index.html")).render_GET(request)
|
||||||
|
|
||||||
|
|
||||||
class LBRYFileRender(resource.Resource):
|
class LBRYFileRender(resource.Resource):
|
||||||
|
@ -1202,4 +1206,4 @@ class LBRYDaemonWeb(resource.Resource):
|
||||||
d.addCallbacks(lambda results: self._delayed_render(request, results),
|
d.addCallbacks(lambda results: self._delayed_render(request, results),
|
||||||
lambda err: self._delayed_render(request, json.dumps({'message': err.getTraceback(), 'code': BAD_REQUEST})))
|
lambda err: self._delayed_render(request, json.dumps({'message': err.getTraceback(), 'code': BAD_REQUEST})))
|
||||||
|
|
||||||
return server.NOT_DONE_YET
|
return server.NOT_DONE_YET
|
|
@ -1,5 +1,12 @@
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
|
import tempfile
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
from StringIO import StringIO
|
||||||
|
from zipfile import ZipFile
|
||||||
|
from urllib import urlopen
|
||||||
|
|
||||||
from twisted.web import server, static
|
from twisted.web import server, static
|
||||||
from twisted.internet import reactor, defer
|
from twisted.internet import reactor, defer
|
||||||
|
@ -38,18 +45,26 @@ def start():
|
||||||
|
|
||||||
log.info("Starting lbrynet-daemon from command line")
|
log.info("Starting lbrynet-daemon from command line")
|
||||||
|
|
||||||
|
tmpdir = tempfile.mkdtemp()
|
||||||
|
url = urlopen("https://rawgit.com/lbryio/lbry-web-ui/master/dist.zip")
|
||||||
|
z = ZipFile(StringIO(url.read()))
|
||||||
|
z.extractall(tmpdir)
|
||||||
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
daemon = LBRYDaemon()
|
daemon = LBRYDaemon()
|
||||||
daemon.setup(args.wallet, args.update)
|
daemon.setup(args.wallet, args.update)
|
||||||
|
|
||||||
root = LBRYindex()
|
root = LBRYindex(tmpdir)
|
||||||
root.putChild("css", static.File("./css"))
|
root.putChild("css", static.File(os.path.join(tmpdir, "css")))
|
||||||
root.putChild("font", static.File("./font"))
|
root.putChild("font", static.File(os.path.join(tmpdir, "font")))
|
||||||
root.putChild("img", static.File("./img"))
|
root.putChild("img", static.File(os.path.join(tmpdir, "img")))
|
||||||
root.putChild("js", static.File("./js"))
|
root.putChild("js", static.File(os.path.join(tmpdir, "js")))
|
||||||
root.putChild(API_ADDRESS, daemon)
|
root.putChild(API_ADDRESS, daemon)
|
||||||
root.putChild("webapi", LBRYDaemonWeb())
|
root.putChild("webapi", LBRYDaemonWeb())
|
||||||
root.putChild("view", LBRYFileRender())
|
root.putChild("view", LBRYFileRender())
|
||||||
reactor.listenTCP(API_PORT, server.Site(root), interface=API_INTERFACE)
|
reactor.listenTCP(API_PORT, server.Site(root), interface=API_INTERFACE)
|
||||||
|
|
||||||
reactor.run()
|
reactor.run()
|
||||||
|
|
||||||
|
shutil.rmtree(tmpdir)
|
Loading…
Reference in a new issue