rebased "Introduction of ItemSource interface" patch

This commit is contained in:
Alok Saldanha
2021-03-28 22:05:08 -04:00
parent 5404a8b0f3
commit 76f3939fdd
24 changed files with 849 additions and 497 deletions
+50 -40
View File
@@ -10,59 +10,68 @@
-->
<html>
<head>
<title>Cellxgene Gateway - FILE CRAWLER</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="icon" type="image/png" href="{{ url_for('static', filename='nibr.ico') }}">
{% for script in extra_scripts %}
<script src="{{ script }}"></script>
{% endfor %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
{% for script in extra_scripts %}
<script src="{{ script }}"></script>
{% endfor %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
</head>
<body>
<header class="navbar navbar-expand navbar-dark flex-column flex-md-row bd-navbar">
<h3>Cellxgene Gateway - Cache Status</h3>
<h3>Cellxgene Gateway - Cache Status</h3>
</header>
<br>
<table class="table">
<thead>
<tr>
<th>PID</th>
<th>dataset</th>
<th>annotation_file</th>
<th>port</th>
<th>launchtime</th>
<th>last access</th>
<th>status</th>
<th>message</th>
<th>http_status</th>
<th>actions</th>
</tr>
</thead>
<tbody>
{% for entry in entry_list %}
<tr>
<td>{{ entry.pid }}</td>
<td><a href="{{ url_for('do_view', path=entry.key.pathpart) }}">{{ entry.key.dataset }}</a></td>
<td>{{ entry.key.annotation_file }}</td>
<td>{{ entry.port }}</td>
<td class="timestamp">{{ entry.launchtime }}</td>
<td class="timestamp">{{ entry.timestamp }}</td>
<td>{{ entry.status.name }}</td>
<td>{{ entry.message }}</td>
<td>{{ entry.http_status }}</td>
<td>
{% if entry.status.name == 'loaded' %}
<a href="{{ url_for('do_terminate', path=entry.key.pathpart) }}"> terminate </a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
<tr>
<th>PID</th>
<th>dataset</th>
<th>annotation_file</th>
<th>source</th>
<th>port</th>
<th>launchtime</th>
<th>last access</th>
<th>status</th>
<th>message</th>
<th>http_status</th>
<th>actions</th>
</tr>
</thead>
<tbody>
{% for entry in entry_list %}
<tr>
<td>{{ entry.pid }}</td>
<td><a
href="{{ url_for('do_view', path=entry.key.descriptor, source_name=entry.key.source_name) }}">{{ entry.key.h5ad_item.descriptor }}</a>
</td>
<td>{{ entry.key.annotation_descriptor }}</td>
<td>{{ entry.source_name }}</td>
<td>{{ entry.port }}</td>
<td class="timestamp">{{ entry.launchtime }}</td>
<td class="timestamp">{{ entry.timestamp }}</td>
<td>{{ entry.status.name }}</td>
<td>{{ entry.message }}</td>
<td>{{ entry.http_status }}</td>
<td>
{% if entry.status.name == 'loaded' %}
<a
href="{{ url_for('do_terminate', path=entry.key.descriptor, source_name=entry.key.source_name) }}">
terminate </a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<script>
$(() => {
$(".timestamp").each(function(){
$(".timestamp").each(function () {
const el = $(this);
const ts = el.text();
const dt = new Date(parseInt(ts * 1000));
@@ -71,4 +80,5 @@
})
</script>
</body>
</html>
</html>
-41
View File
@@ -44,47 +44,6 @@
<u>Cache Status: view status of launched cellxgene servers.</u></a>
</div>
{% if enable_upload %}
<br>
<h1 style="padding-left:35px">
How To Upload Data via HTTP:
</h1>
<ol style="padding-left:85px;">
<li>
Create a folder for your Username:
</li>
<br>
<form action="{{ url_for('make_user') }}" method="post">
Username <input type="text" name="directory">
<input type="submit" value="Create">
</form>
<li>
Create a subdirectory under the selected Folder:
</li>
<br>
<form action="{{ url_for('make_subdir') }}" method="post">
<select name="usernames" id="usernames">
{% for user in users %}
<option value="{{ user }}">{{ user }}</option>
{% endfor %}
</select>
<br>
Subdirectory Name <input type="text" name="directory">
<input type="submit" value="Create">
</form>
<li>Choose a folder to copy your data to, then upload your data file (must be in .h5ad format).</li>
<br>
<form action="{{ url_for('upload_file') }}" method="post" enctype="multipart/form-data">
Type in the name of the directory and subdirectory you wish to upload to, i.e. "USER/cells". <input type="text" name="path">
<br>
File: <input type="file" name="file"><br>
<input style="position:relative; top:10px;" type="submit" value="Upload">
</form>
<br>
<li>Take a look at your data using the file crawler link above</li>
</ol>
{% endif %}
<br>
<h1 style="padding-left:35px">
@@ -36,7 +36,7 @@
<h4>Options</h4>
Please choose one of the following, or use the back button:
<ul>
<li><a href="{{url_for('do_relaunch', path=dataset)}}">
<li><a href="{relaunch_url}">
Attempt to relaunch the cellxgene server.
</a></li>
<li><a href="{{ url_for('filecrawl') }}">