Exemple #1
0
def top_categories(offset, count, with_podcasts=False):

    if offset is None:
        raise QueryParameterMissing('offset')

    if not count:
        raise QueryParameterMissing('count')

    db = get_categories_database()

    if with_podcasts:
        r = db.view('categories/by_update',
                descending   = True,
                skip         = offset,
                limit        = count,
                include_docs = True,
                stale        = 'update_after',
                schema       = Category,
            )

    else:
        r = db.view('categories/by_update',
                descending   = True,
                skip         = offset,
                limit        = count,
                stale        = 'update_after',
                wrapper      = _category_wrapper,
            )

    categories = list(r)

    for cat in categories:
        cat.set_db(db)

    return categories
Exemple #2
0
def category_for_tag_uncached(tag):

    if not tag:
        raise QueryParameterMissing('tag')

    db = get_categories_database()
    cat = get_single_result(db, 'categories/by_tags',
            key          = tag,
            include_docs = True,
            stale        = 'update_after',
            schema       = Category
        )

    return cat
Exemple #3
0
def save_category(category):
    db = get_categories_database()
    db.save_doc(category)