about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--etc/default_settings.py2
-rw-r--r--wqflask/wqflask/collect.py3
-rw-r--r--wqflask/wqflask/partial_correlations_views.py7
3 files changed, 7 insertions, 5 deletions
diff --git a/etc/default_settings.py b/etc/default_settings.py
index 7ae305ed..6d7ac063 100644
--- a/etc/default_settings.py
+++ b/etc/default_settings.py
@@ -40,7 +40,7 @@ GN_PROXY_URL="https://genenetwork.org/gn3-proxy/"
 
 SQL_URI = "mysql://gn2:mysql_password@localhost/db_webqtl_s"
 SQL_ALCHEMY_POOL_RECYCLE = 3600
-GN_SERVER_URL = "http://localhost:8880/api" # REST API server
+GN_SERVER_URL = "http://localhost:8880/api/" # REST API server
 GN2_BASE_URL = "http://genenetwork.org/" # to pick up REST API
 GN2_BRANCH_URL = GN2_BASE_URL
 
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index b344bd99..18f3091f 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -2,6 +2,7 @@ import hashlib
 import datetime
 import os
 import simplejson as json
+from urllib.parse import urljoin
 
 from flask import g
 from flask import render_template
@@ -277,7 +278,7 @@ def view_collection():
     collection_info = dict(
         trait_obs=trait_obs,
         uc=uc,
-        heatmap_data_url=f"{GN_SERVER_URL}/heatmaps/clustered")
+        heatmap_data_url=urljoin(GN_SERVER_URL, "heatmaps/clustered"))
 
     if "json" in params:
         return json.dumps(json_version)
diff --git a/wqflask/wqflask/partial_correlations_views.py b/wqflask/wqflask/partial_correlations_views.py
index 91948722..b3ebc4c5 100644
--- a/wqflask/wqflask/partial_correlations_views.py
+++ b/wqflask/wqflask/partial_correlations_views.py
@@ -3,6 +3,7 @@ import math
 import requests
 from functools import reduce
 from typing import Union, Tuple
+from urllib.parse import urljoin
 
 from flask import (
     flash,
@@ -287,7 +288,7 @@ def partial_correlations():
                 "with_target_db": args["with_target_db"]
             }
             return handle_response(requests.post(
-                url=f"{GN_SERVER_URL}/correlation/partial",
+                url=urljoin(GN_SERVER_URL, "correlation/partial"),
                 json=post_data))
 
         for error in args["errors"]:
@@ -302,7 +303,7 @@ def partial_correlations():
                 "with_target_db": args["with_target_db"]
             }
             return handle_response(requests.post(
-                url=f"{GN_SERVER_URL}/correlation/partial",
+                url=urljoin(GN_SERVER_URL, "correlation/partial"),
                 json=post_data))
 
         for error in args["errors"]:
@@ -347,7 +348,7 @@ def process_pcorrs_command_output(result):
 @app.route("/partial_correlations/<command_id>", methods=["GET"])
 def poll_partial_correlation_results(command_id):
     response = requests.get(
-        url=f"{GN_SERVER_URL}/async_commands/state/{command_id}")
+        url=urljoin(GN_SERVER_URL, "async_commands/state/{command_id}"))
 
     if response.status_code == 200:
         data = response.json()