#14 redirect prior to returning loading screen

This commit is contained in:
Alok Saldanha
2020-01-07 08:50:39 -05:00
parent 11efd3a954
commit 6c611f55dd
2 changed files with 9 additions and 11 deletions

View File

@@ -8,8 +8,9 @@
# the specific language governing permissions and limitations under the License.
import psutil
import logging
import datetime
from flask import make_response, request
from flask import make_response, request, render_template
from requests import get, post, put
from cellxgene_gateway import env
@@ -92,17 +93,20 @@ class CacheEntry:
self.status = "terminated"
def serve_content(self, path):
dataset = self.key.dataset
gateway_basepath = (
f"{env.external_protocol}://{env.external_host}/view/{self.key.pathpart}/"
)
subpath = path[len(self.key.pathpart) :] # noqa: E203
if len(subpath) == 0:
r = make_response(f"Redirect to {gateway_basepath}\n", 301)
r.headers["location"] = gateway_basepath+querystring()
return r
elif self.status == "loading":
launch_time = datetime.datetime.fromtimestamp(self.launchtime)
return render_template(
"loading.html", launchtime=launch_time, all_output=self.all_output
)
port = self.port
cellxgene_basepath = f"http://127.0.0.1:{port}"

View File

@@ -8,7 +8,6 @@
# the specific language governing permissions and limitations under the License.
# import BaseHTTPServer
import datetime
import os
import logging
from threading import Thread, Lock
@@ -204,13 +203,8 @@ def do_view(path):
match.timestamp = current_time_stamp()
if match.status == "loaded":
if match.status == "loaded" or match.status == "loading":
return match.serve_content(path)
elif match.status == "loading":
launch_time = datetime.datetime.fromtimestamp(match.launchtime)
return render_template(
"loading.html", launchtime=launch_time, all_output=match.all_output
)
elif match.status == "error":
raise ProcessException.from_cache_entry(match)