Skip to content

Commit 014980b

Browse files
committed
feat(whelktool): Add script for S shelfControlNumber INV2021 -> LEVNR
1 parent fc5a4f0 commit 014980b

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import whelk.util.DocumentUtil
2+
import whelk.util.Unicode
3+
4+
var before = "INV2021"
5+
var after = "LEVNR"
6+
7+
var where = """
8+
collection = 'hold' AND
9+
data#>>'{@graph,1,heldBy,@id}' = 'https://libris.kb.se/library/S'
10+
AND deleted = false
11+
"""
12+
13+
selectBySqlWhere(where) { hold ->
14+
var main = hold.graph[1]
15+
var changed = DocumentUtil.traverse(main, { value, path ->
16+
if (path && path.last() == "shelfControlNumber" && value instanceof String) {
17+
String shelfControlNumber = (String) value
18+
if (shelfControlNumber.startsWith(before)) {
19+
return new DocumentUtil.Replace(after + Unicode.stripPrefix(shelfControlNumber, before))
20+
}
21+
}
22+
})
23+
24+
if (changed) {
25+
hold.scheduleSave(loud: true)
26+
}
27+
}

0 commit comments

Comments
 (0)