def get_random(args): """Get random item from db""" peon = Peon() if not args.with_usages: item = peon.random(args.category) else: item = peon.random_with_usages(args.category) print item.value, '\nUsages:' for usage in item.usages(): print usage.value()
def batch_add(items): """Add multiple items at once""" peon = Peon(db) results = {} for key in items.split('/'): if key: if peon.addItem(key): results[key] = {'result': 'success'} else: results[key] = {'result': 'failure', 'reason': 'Already in DB'} return results
def lock(): """Lock|unlock kanji for today""" if request.get_cookie('lock'): response.delete_cookie('lock') return {'result': 'unlocked'} else: # Set kanji for today kanji_id = str(Peon(db).random().id) next_day = date.today() + timedelta(days=1) response.set_cookie('lock', kanji_id, secret='secret', expires=next_day, path='/') return {'result': 'locked', 'id': kanji_id}
def add_example_with_items(example, keys): """Add multiple items and corresponding example""" if Peon(db).addExampleWithItems(example, keys.split('/')): return {'result': 'success'} else: return {'result': 'failure', 'reason': 'Could not add new items'}
def add_item_with_example(key, example): """Add new item, generate fact and link example""" if Peon(db).addItemWithExample(key, example): return {'result': 'success'} else: return {'result': 'failure', 'reason': 'Could not add new item'}
def add_item(key): """Add new item""" if Peon(db).addItem(key): return {'result': 'success'} else: return {'result': 'failure', 'reason': 'Item is already in DB'}
def count_new(category): """Count unprocessed items""" print Peon().count(category, 'new')
def prepare_usages(category, limit): """Generate usages for unprocessed items""" Peon().process(category, limit)