Compare commits

..

2 commits

Author SHA1 Message Date
j
f66de47798 update edits every 12 hours 2018-11-15 15:31:46 +00:00
j
ebf2ba4dbd load annotations in chunks 2018-11-15 15:30:49 +00:00
2 changed files with 31 additions and 13 deletions

View file

@ -9,24 +9,35 @@ site = 'pandora.cinemusespace.com'
api = ox.api.signin('https://%s/api/' % site) api = ox.api.signin('https://%s/api/' % site)
keywords = collections.Counter() keywords = collections.Counter()
for annotation in api.findAnnotations({ query = {
'query': {
'conditions': [{ 'conditions': [{
'key': 'layer', 'key': 'layer',
'value': 'keywords', 'value': 'keywords',
'operator': '==' 'operator': '=='
}], }],
'operator': '&' 'operator': '&'
}, }
count = api.findAnnotations({'query': query})['data']['items']
position = 0
chunk = 1000
while position < count:
r = api.findAnnotations({
'query': query,
'keys': ['id', 'in', 'out', 'value', 'user', 'created'], 'keys': ['id', 'in', 'out', 'value', 'user', 'created'],
'range': [0, 500000] 'sort': [{'key': 'public_id', 'operator': '+'}],
})['data']['items']: 'range': [position, position+chunk]
})
if 'data' not in r:
print('failed', r)
for annotation in r['data']['items']:
if annotation['id'].startswith('BA/'): if annotation['id'].startswith('BA/'):
continue continue
keyword = annotation['value'] keyword = annotation['value']
if ': ' not in keyword: if ': ' not in keyword:
keyword = 'other: ' + keyword keyword = 'other: ' + keyword
keywords[keyword] += 1 keywords[keyword] += 1
position += chunk
with open('keywords.json', 'w') as fd: with open('keywords.json', 'w') as fd:
json.dump(keywords, fd, indent=4, ensure_ascii=False, sort_keys=True) json.dump(keywords, fd, indent=4, ensure_ascii=False, sort_keys=True)

View file

@ -18,4 +18,11 @@ def subtitles_user(**kwargs):
except: except:
pass pass
@periodic_task(run_every=timedelta(hours=12), queue='encoding')
def render_edits(**kwargs):
path = '/home/pandora/pandora_render/render_public_edits.py'
if os.path.exists(path)
try:
subprocess.call([path])
except:
pass