11
11
StableIdResolverResponse
12
12
from app .api .utils .commons import build_stable_id_resolver_content , is_json_request
13
13
from app .api .utils .metadata import get_genome_id_from_assembly_accession_id , get_metadata
14
- from app .api .utils .rapid import format_assembly_accession , construct_rapid_archive_url , construct_url , \
15
- generate_rapid_id_page , generate_rapid_page
14
+ from app .api .utils .rapid import format_assembly_accession , construct_url , \
15
+ generate_rapid_id_page , generate_rapid_page , construct_rapid_archive_url
16
16
from app .api .utils .search import get_search_results
17
- from app .core .config import ENSEMBL_URL , RAPID_ARCHIVE_URL
17
+ from app .core .config import ENSEMBL_URL
18
18
from app .core .logging import InterceptHandler
19
19
20
20
logging .getLogger ().handlers = [InterceptHandler ()]
@@ -27,7 +27,7 @@ async def resolve_rapid_stable_id(request: Request, stable_id: str):
27
27
# Handle only gene stable id for now
28
28
params = SearchPayload (stable_id = stable_id , type = "gene" , per_page = 10 )
29
29
search_results = get_search_results (params )
30
- rapid_archive_url = f" { RAPID_ARCHIVE_URL } /id/ { stable_id } "
30
+ rapid_archive_url = construct_rapid_archive_url ( request )
31
31
32
32
if not search_results or not search_results .get ("matches" ):
33
33
if is_json_request (request ):
@@ -77,6 +77,7 @@ async def resolve_rapid_help(request: Request, subpath: str = ""):
77
77
response_type = RapidResolverHtmlResponseType .HELP ,
78
78
code = 308 ,
79
79
resolved_url = f"{ ENSEMBL_URL } /help" ,
80
+ rapid_archive_url = construct_rapid_archive_url (request )
80
81
)
81
82
return rapid_resolved_response (response , request )
82
83
@@ -87,6 +88,7 @@ async def resolve_rapid_blast(request: Request):
87
88
response_type = RapidResolverHtmlResponseType .BLAST ,
88
89
code = 308 ,
89
90
resolved_url = f"{ ENSEMBL_URL } /blast" ,
91
+ rapid_archive_url = construct_rapid_archive_url (request )
90
92
)
91
93
return rapid_resolved_response (response , request )
92
94
@@ -97,13 +99,15 @@ async def resolve_rapid_blast(request: Request):
97
99
async def resolve_species (
98
100
request : Request , species_url_name : str , subpath : str = "" , r : str = Query (None )
99
101
):
102
+ rapid_archive_url = construct_rapid_archive_url (request )
100
103
# Check if its blast redirect
101
104
if "tools/blast" in subpath .lower ():
102
105
response = RapidResolverResponse (
103
106
response_type = RapidResolverHtmlResponseType .BLAST ,
104
107
code = 308 ,
105
108
resolved_url = f"{ ENSEMBL_URL } /blast" ,
106
109
species_name = species_url_name ,
110
+ rapid_archive_url = rapid_archive_url
107
111
)
108
112
return rapid_resolved_response (response , request )
109
113
@@ -117,6 +121,7 @@ async def resolve_species(
117
121
resolved_url = f"{ ENSEMBL_URL } /species-selector" ,
118
122
message = "Invalid input accession ID" ,
119
123
species_name = species_url_name ,
124
+ rapid_archive_url = rapid_archive_url
120
125
)
121
126
return rapid_resolved_response (input_error_response , request )
122
127
@@ -130,7 +135,6 @@ async def resolve_species(
130
135
query_params = parse_qs (query_string , separator = ";" )
131
136
132
137
url = construct_url (genome_id , subpath , query_params )
133
- rapid_archive_url = construct_rapid_archive_url (species_url_name , subpath , query_params )
134
138
response = RapidResolverResponse (
135
139
response_type = RapidResolverHtmlResponseType .INFO ,
136
140
code = 308 ,
@@ -151,6 +155,7 @@ async def resolve_species(
151
155
resolved_url = f"{ ENSEMBL_URL } /species-selector" ,
152
156
message = e .detail ,
153
157
species_name = species_url_name ,
158
+ rapid_archive_url = rapid_archive_url
154
159
)
155
160
return rapid_resolved_response (response , request )
156
161
except Exception as e :
@@ -161,6 +166,7 @@ async def resolve_species(
161
166
code = 500 ,
162
167
resolved_url = f"{ ENSEMBL_URL } /species-selector" ,
163
168
message = str (e ),
169
+ rapid_archive_url = rapid_archive_url
164
170
)
165
171
return rapid_resolved_response (response , request )
166
172
@@ -171,6 +177,7 @@ async def resolve_home(request: Request):
171
177
response_type = RapidResolverHtmlResponseType .HOME ,
172
178
code = 308 ,
173
179
resolved_url = ENSEMBL_URL ,
180
+ rapid_archive_url = construct_rapid_archive_url (request )
174
181
)
175
182
return rapid_resolved_response (response , request )
176
183
0 commit comments