pandora_leftovers/cleanup/add_volume.py
2019-12-05 13:08:26 +00:00

33 lines
970 B
Python
Executable file

#!/usr/bin/python3
import re
import ox
import ox.api
site = 'archive.leftove.rs'
api = ox.api.signin('https://%s/api/' % site)
for regex, fragments in (
['Vol. \d+, No. \d+', ['Vol.', 'No.']],
['Vol \d+ no \d+', [' Vol ', ' no ']],
['Vol:\d+ #\d+', ['Vol:', '#']],
):
for doc in api.findDocuments({
'query': {
'conditions': [
{'key': 'title', 'operator': '=', 'value': fragment}
for fragment in fragments
],
'operator': '&'
},
'keys': ['id', 'title', 'volume'],
'range': [0, 10000]
})['data']['items']:
if 'Vol' not in doc.get('volume', ''):
m = re.compile(regex).findall(doc['title'])
if m:
print(m[0], doc['id'], doc['title'])
api.editDocument({
'id': doc['id'],
'volume': m[0].strip()
})