#!/usr/bin/python3 import collections import json import ox import ox.api site = 'pandora.cinemusespace.com' api = ox.api.signin('https://%s/api/' % site) keywords = collections.Counter() for annotation in api.findAnnotations({ 'query': { 'conditions': [{ 'key': 'layer', 'value': 'keywords', 'operator': '==' }], 'operator': '&' }, 'keys': ['id', 'in', 'out', 'value', 'user', 'created'], 'range': [0, 500000] })['data']['items']: if annotation['id'].startswith('BA/'): continue keyword = annotation['value'] if ': ' not in keyword: keyword = 'other: ' + keyword keywords[keyword] += 1 with open('keywords.json', 'w') as fd: json.dump(keywords, fd, indent=4, ensure_ascii=False, sort_keys=True)