mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-24 02:04:04 +08:00
Merge branch 'release_24.2' into release_25.0
This commit is contained in:
@@ -49,6 +49,7 @@ from galaxy.util import (
|
||||
unicodify,
|
||||
)
|
||||
from galaxy.util.compression_utils import FileObjType
|
||||
from .util.generic_util import display_as_url
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
verbose = False
|
||||
@@ -121,13 +122,7 @@ class GenomeGraphs(Tabular):
|
||||
action="display_at",
|
||||
filename=f"ucsc_{site_name}",
|
||||
)
|
||||
display_url = "{}{}/display_as?id={}&display_app={}&authz_method=display_at".format(
|
||||
base_url,
|
||||
app.url_for(controller="root"),
|
||||
dataset.id,
|
||||
type,
|
||||
)
|
||||
display_url = quote_plus(display_url)
|
||||
display_url = display_as_url(app, base_url, str(dataset.id), type)
|
||||
# was display_url = quote_plus( "%s/display_as?id=%i&display_app=%s" % (base_url, dataset.id, type) )
|
||||
# redirect_url = quote_plus( "%sdb=%s&position=%s:%s-%s&hgt.customText=%%s" % (site_url, dataset.dbkey, chrom, start, stop) )
|
||||
sl = [
|
||||
|
||||
@@ -52,6 +52,7 @@ from . import (
|
||||
data,
|
||||
dataproviders,
|
||||
)
|
||||
from .util.generic_util import display_as_url
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -340,14 +341,7 @@ class Interval(Tabular):
|
||||
action="display_at",
|
||||
filename="ucsc_" + site_name,
|
||||
)
|
||||
display_url = quote_plus(
|
||||
"{}{}/display_as?id={}&display_app={}&authz_method=display_at".format(
|
||||
base_url,
|
||||
app.url_for(controller="root"),
|
||||
dataset.id,
|
||||
type,
|
||||
)
|
||||
)
|
||||
display_url = display_as_url(app, base_url, str(dataset.id), type)
|
||||
redirect_url = quote_plus(f"{site_url}db={dataset.dbkey}&position={chrom}:{start}-{stop}&hgt.customText=%s")
|
||||
link = f"{internal_url}?redirect_url={redirect_url}&display_url={display_url}"
|
||||
ret_val.append((site_name, link))
|
||||
@@ -777,14 +771,7 @@ class _RemoteCallMixin:
|
||||
"""
|
||||
internal_url = f"{app.url_for(controller='dataset', dataset_id=dataset.id, action='display_at', filename=f'{type}_{site_name}')}"
|
||||
base_url = app.config.get("display_at_callback", base_url)
|
||||
display_url = quote_plus(
|
||||
"{}{}/display_as?id={}&display_app={}&authz_method=display_at".format(
|
||||
base_url,
|
||||
app.url_for(controller="root"),
|
||||
dataset.id,
|
||||
type,
|
||||
)
|
||||
)
|
||||
display_url = display_as_url(app, base_url, str(dataset.id), type)
|
||||
link = f"{internal_url}?redirect_url={redirect_url}&display_url={display_url}"
|
||||
return link
|
||||
|
||||
@@ -1559,14 +1546,7 @@ class CustomTrack(Tabular):
|
||||
for site_name, site_url in app.datatypes_registry.get_legacy_sites_by_build("ucsc", dataset.dbkey):
|
||||
if site_name in app.datatypes_registry.get_display_sites("ucsc"):
|
||||
internal_url = f"{app.url_for(controller='dataset', dataset_id=dataset.id, action='display_at', filename='ucsc_' + site_name)}"
|
||||
display_url = quote_plus(
|
||||
"{}{}/display_as?id={}&display_app={}&authz_method=display_at".format(
|
||||
base_url,
|
||||
app.url_for(controller="root"),
|
||||
dataset.id,
|
||||
type,
|
||||
)
|
||||
)
|
||||
display_url = display_as_url(app, base_url, str(dataset.id), type)
|
||||
redirect_url = quote_plus(
|
||||
f"{site_url}db={dataset.dbkey}&position={chrom}:{start}-{stop}&hgt.customText=%s"
|
||||
)
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from urllib.parse import (
|
||||
quote_plus,
|
||||
urlencode,
|
||||
urljoin,
|
||||
)
|
||||
|
||||
from galaxy.util import commands
|
||||
|
||||
|
||||
@@ -16,3 +22,17 @@ def count_special_lines(word, filename, invert=False):
|
||||
except commands.CommandLineException:
|
||||
return 0
|
||||
return int(out)
|
||||
|
||||
|
||||
def display_as_url(app, base_url: str, dataset_id: str, display_app: str) -> str:
|
||||
"""Generate a link to the ``display_as`` action the the ``root`` controller, encoded for use as a query param."""
|
||||
display_base_url = urljoin(base_url, app.url_for(controller="root", action="display_as"))
|
||||
display_query = urlencode(
|
||||
{
|
||||
"id": dataset_id,
|
||||
"display_app": display_app,
|
||||
"authz_method": "display_at",
|
||||
}
|
||||
)
|
||||
display_url = quote_plus(f"{display_base_url}?{display_query}")
|
||||
return display_url
|
||||
|
||||
Reference in New Issue
Block a user