Skip to content

Commit a1a48f5

Browse files
authored
Merge pull request #69 from golnazads/master
fixed a bug with the bibcode, also updated for future outside links
2 parents 99ecd19 + 45dbaf9 commit a1a48f5

File tree

2 files changed

+24
-16
lines changed

2 files changed

+24
-16
lines changed

‎resolversrv/tests/unittests/test_db_query.py‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -134,18 +134,18 @@ def test_link_associated(self):
134134
self.assertDictEqual(response.json, {u'action': u'display',
135135
u'links': {u'count': 13,
136136
u'records': [{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1971ATsir.615....4D%2Fabstract', u'bibcode': u'1971ATsir.615....4D', u'title': u'Part 1'},
137-
{u'url': u'/1974Afz....10..315D/associated/:%2Fabs%2F1974Afz....10..315D%2Fabstract', u'bibcode': u'1974Afz....10..315D', u'title': u'Part 2'},
138-
{u'url': u'/1971ATsir.621....7D/associated/:%2Fabs%2F1971ATsir.621....7D%2Fabstract', u'bibcode': u'1971ATsir.621....7D', u'title': u'Part 3'},
139-
{u'url': u'/1976Afz....12..665D/associated/:%2Fabs%2F1976Afz....12..665D%2Fabstract', u'bibcode': u'1976Afz....12..665D', u'title': u'Part 4'},
140-
{u'url': u'/1971ATsir.624....1D/associated/:%2Fabs%2F1971ATsir.624....1D%2Fabstract', u'bibcode': u'1971ATsir.624....1D', u'title': u'Part 5'},
141-
{u'url': u'/1983Afz....19..229D/associated/:%2Fabs%2F1983Afz....19..229D%2Fabstract', u'bibcode': u'1983Afz....19..229D', u'title': u'Part 6'},
142-
{u'url': u'/1983Ap.....19..134D/associated/:%2Fabs%2F1983Ap.....19..134D%2Fabstract', u'bibcode': u'1983Ap.....19..134D', u'title': u'Part 7'},
143-
{u'url': u'/1973ATsir.759....6D/associated/:%2Fabs%2F1973ATsir.759....6D%2Fabstract', u'bibcode': u'1973ATsir.759....6D', u'title': u'Part 8'},
144-
{u'url': u'/1984Afz....20..525D/associated/:%2Fabs%2F1984Afz....20..525D%2Fabstract', u'bibcode': u'1984Afz....20..525D', u'title': u'Part 9'},
145-
{u'url': u'/1984Ap.....20..290D/associated/:%2Fabs%2F1984Ap.....20..290D%2Fabstract', u'bibcode': u'1984Ap.....20..290D', u'title': u'Part 10'},
146-
{u'url': u'/1974ATsir.809....1D/associated/:%2Fabs%2F1974ATsir.809....1D%2Fabstract', u'bibcode': u'1974ATsir.809....1D', u'title': u'Part 11'},
147-
{u'url': u'/1974ATsir.809....2D/associated/:%2Fabs%2F1974ATsir.809....2D%2Fabstract', u'bibcode': u'1974ATsir.809....2D', u'title': u'Part 12'},
148-
{u'url': u'/1974ATsir.837....2D/associated/:%2Fabs%2F1974ATsir.837....2D%2Fabstract', u'bibcode': u'1974ATsir.837....2D', u'title': u'Part 13'}],
137+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1974Afz....10..315D%2Fabstract', u'bibcode': u'1974Afz....10..315D', u'title': u'Part 2'},
138+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1971ATsir.621....7D%2Fabstract', u'bibcode': u'1971ATsir.621....7D', u'title': u'Part 3'},
139+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1976Afz....12..665D%2Fabstract', u'bibcode': u'1976Afz....12..665D', u'title': u'Part 4'},
140+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1971ATsir.624....1D%2Fabstract', u'bibcode': u'1971ATsir.624....1D', u'title': u'Part 5'},
141+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1983Afz....19..229D%2Fabstract', u'bibcode': u'1983Afz....19..229D', u'title': u'Part 6'},
142+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1983Ap.....19..134D%2Fabstract', u'bibcode': u'1983Ap.....19..134D', u'title': u'Part 7'},
143+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1973ATsir.759....6D%2Fabstract', u'bibcode': u'1973ATsir.759....6D', u'title': u'Part 8'},
144+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1984Afz....20..525D%2Fabstract', u'bibcode': u'1984Afz....20..525D', u'title': u'Part 9'},
145+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1984Ap.....20..290D%2Fabstract', u'bibcode': u'1984Ap.....20..290D', u'title': u'Part 10'},
146+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1974ATsir.809....1D%2Fabstract', u'bibcode': u'1974ATsir.809....1D', u'title': u'Part 11'},
147+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1974ATsir.809....2D%2Fabstract', u'bibcode': u'1974ATsir.809....2D', u'title': u'Part 12'},
148+
{u'url': u'/1971ATsir.615....4D/associated/:%2Fabs%2F1974ATsir.837....2D%2Fabstract', u'bibcode': u'1974ATsir.837....2D', u'title': u'Part 13'}],
149149
u'link_type': u'ASSOCIATED'},
150150
u'service': u'/abs/1971ATsir.615....4D/associated'})
151151

‎resolversrv/views.py‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from builtins import str
44
from builtins import range
55
import json
6+
import re
67

78
from flask import current_app, request, Blueprint
89
from flask_discoverer import advertise
@@ -22,6 +23,8 @@
2223

2324
class LinkRequest(object):
2425

26+
re_bibcode = re.compile(r"^([12][09]\d\d[A-Za-z\.]{5}[A-Za-z0-9\.]{9}[A-Z])$")
27+
2528
def __init__(self, bibcode, link_type='', id=None):
2629
"""
2730
@@ -404,10 +407,15 @@ def request_link_type_associated(self, results):
404407
links['link_type'] = self.link_type
405408
records = []
406409
for idx in range(len(result['url'])):
407-
bibcode = result['url'][idx]
408-
encodeURL = ':' + quote(link_format_str.format(baseurl=self.baseurl, bibcode=bibcode), safe='')
409-
redirectURL = self.gateway_redirect_url.format(bibcode=bibcode, link_type=self.link_type.lower(),
410-
url=encodeURL)
410+
if self.re_bibcode.match(result['url'][idx]):
411+
bibcode = result['url'][idx]
412+
encodeURL = ':' + quote(link_format_str.format(baseurl=self.baseurl, bibcode=bibcode), safe='')
413+
redirectURL = self.gateway_redirect_url.format(bibcode=self.bibcode, link_type=self.link_type.lower(), url=encodeURL)
414+
print('.....redirectURL',redirectURL)
415+
else:
416+
# this is an outside link, so display it as is
417+
bibcode = self.bibcode
418+
redirectURL = result['url'][idx]
411419
record = {}
412420
record['bibcode'] = bibcode
413421
record['title'] = result['title'][idx]

0 commit comments

Comments
 (0)