Skip to content

Commit fcc54c9

Browse files
committed
ignore empty bibcodes and add search-solr function
1 parent 3ac5d1d commit fcc54c9

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

content/adsabs.xql

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -334,28 +334,29 @@ declare function adsabs:library-clear($name-or-id){
334334
};
335335

336336
declare %private function adsabs:library-add-or-remove($name-or-id, $bibcodes, $action){
337-
if (exists($bibcodes)) then
338-
let $quoted-bibcodes-todo := for $b in $bibcodes return """||$b||"""
339-
let $payload := '{"action":"'||$action||'" ,"bibcode": [' || string-join($quoted-bibcodes-todo, ", ") || "]}"
340-
let $id := adsabs:get-libraries()?*?*[?name=$name-or-id or ?id=$name-or-id]?id
341-
return
342-
parse-json(adsabs:query("/biblib/documents/"||$id, $payload, false()))
343-
else
344-
util:log("info", "Skipping action on library " || $name-or-id || ". no bibcode provided for "||$action)
345-
337+
let $bibcodes := $bibcodes[.!='']
338+
return
339+
if (exists($bibcodes)) then
340+
let $quoted-bibcodes-todo := for $b in $bibcodes return """||$b||"""
341+
let $payload := '{"action":"'||$action||'" ,"bibcode": [' || string-join($quoted-bibcodes-todo, ", ") || "]}"
342+
let $id := adsabs:get-libraries()?*?*[?name=$name-or-id or ?id=$name-or-id]?id
343+
return
344+
parse-json(adsabs:query("/biblib/documents/"||$id, $payload, false()))
345+
else
346+
util:log("info", "Skipping action on library " || $name-or-id || ". no bibcode provided for "||$action)
346347
};
347348

348349
declare function adsabs:search-bibcodes($query) as xs:string*{
349350
adsabs:search($query, "bibcode")?response?docs?*?bibcode
350351
};
351352

352353
(: Search without using cache :)
353-
declare function adsabs:search($query as xs:string, $fl as xs:string?)
354+
declare function adsabs:search($query as xs:string, $fl as xs:string*)
354355
{
355356
adsabs:search($query, $fl, true())
356357
};
357358

358-
declare function adsabs:search($query as xs:string, $fl as xs:string?, $use-cache as xs:boolean)
359+
declare function adsabs:search($query as xs:string, $fl as xs:string*, $use-cache as xs:boolean)
359360
{
360361
parse-json(
361362
adsabs:query("/search/query?q="||encode-for-uri($query)
@@ -365,7 +366,11 @@ declare function adsabs:search($query as xs:string, $fl as xs:string?, $use-cach
365366
)
366367
};
367368

368-
declare function adsabs:search-map($params as map(*), $use-cache as xs:boolean)
369+
(:~
370+
: Give access to the solr endpoint.
371+
: default output format is defined to xml.
372+
:)
373+
declare function adsabs:search-solr($params as map(*), $use-cache as xs:boolean)
369374
{
370375
let $params-keys := map:keys($params)
371376
let $defaults := (
@@ -381,7 +386,6 @@ declare function adsabs:search-map($params as map(*), $use-cache as xs:boolean)
381386
};
382387

383388

384-
385389
(: --- GETTER functions :)
386390

387391
declare %private function adsabs:ignore-bad-refereed-bibcode($bibcodes as xs:string*) {

repo.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
<change version="0.45.0">
1515
<ul xmlns="">
1616
<li>dateutil : add timestampToDateTime() to convert seconds since the epoch (1970-01-01 UTC) to a datetime.</li>
17+
<li>jmmc-simbad: fix bug / bad query in resolv-by-coords funtion.</li>
18+
<li>adsabs : add search-solr function.</li>
19+
<li>adsabs : ignore empty bibcodes in library management (avoid 500 error on ADS servers).</li>
1720
</ul>
1821
</change>
1922
<change version="0.44.0">

0 commit comments

Comments
 (0)