Put the temp page under a flag

This commit is contained in:
GeorgianaElena
2020-08-11 14:09:11 +03:00
parent 69a6f89518
commit fcb5257901
2 changed files with 34 additions and 26 deletions

View File

@@ -115,13 +115,13 @@ def serve_forever(server):
pass pass
def main(): def main():
if "--temporary-page" in sys.argv:
# Serve the loading page until TLJH builds # Serve the loading page until TLJH builds
index_url="https://raw.githubusercontent.com/GeorgianaElena/the-littlest-jupyterhub/in-progress-page/bootstrap/index.html" index_url="https://raw.githubusercontent.com/GeorgianaElena/the-littlest-jupyterhub/in-progress-page/bootstrap/index.html"
favicon_url="https://raw.githubusercontent.com/jupyterhub/jupyterhub/master/share/jupyterhub/static/favicon.ico" favicon_url="https://raw.githubusercontent.com/jupyterhub/jupyterhub/master/share/jupyterhub/static/favicon.ico"
urllib.request.urlretrieve(index_url, "index.html") urllib.request.urlretrieve(index_url, "index.html")
urllib.request.urlretrieve(favicon_url, "favicon.ico") urllib.request.urlretrieve(favicon_url, "favicon.ico")
# If the bootstrap is run to upgrade TLJH, then this will raise an "Address already in use" error # If the bootstrap is run to upgrade TLJH, then this will raise an "Address already in use" error
try: try:
loading_page_server = HTTPServer(("", 80), LoaderPageRequestHandler) loading_page_server = HTTPServer(("", 80), LoaderPageRequestHandler)

View File

@@ -486,6 +486,12 @@ def main():
nargs='*', nargs='*',
help='Plugin pip-specs to install' help='Plugin pip-specs to install'
) )
argparser.add_argument(
'--temporary-page',
action='store_true',
default=False,
help='Serve a temporary page while TLJH is building'
)
args = argparser.parse_args() args = argparser.parse_args()
@@ -502,15 +508,17 @@ def main():
ensure_jupyterlab_extensions() ensure_jupyterlab_extensions()
# Stop the http server with the loading page before traefik starts # Stop the http server with the loading page before traefik starts
if args.temporary_page:
pidfile = "/loading.pid"
try: try:
with open(pidfile, "r") as f: with open(pidfile, "r") as f:
pid = f.read() pid = f.read()
os.kill(int(pid), signal.SIGINT) os.kill(int(pid), signal.SIGINT)
# Remove the pid file and the temporary html page # Remove the pid file and the temporary html page
os.remove('/loading.pid') os.remove(pidfile)
os.remove('/index.html') os.remove('/index.html')
os.remove('/favicon.ico') os.remove('/favicon.ico')
except: except Exception as e:
pass pass
ensure_jupyterhub_service(HUB_ENV_PREFIX) ensure_jupyterhub_service(HUB_ENV_PREFIX)