Example #1
0
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()
Example #2
0
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
Example #3
0
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}
Example #4
0
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'}
Example #5
0
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'}
Example #6
0
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'}
Example #7
0
def count_new(category):
    """Count unprocessed items"""
    print Peon().count(category, 'new')
Example #8
0
def prepare_usages(category, limit):
    """Generate usages for unprocessed items"""
    Peon().process(category, limit)