예제 #1
0
def get_generator_info(generator_id=None, record=None, user=None):
    gen = record or get_generator(generator_id, user)

    if not gen:
        return None

    fields = ['version', 'title', 'description']
    values = getvalues(gen, fields)
    values['username'] = user.username if user else gen.user.username

    values['generator_id'] = make_generator_id(gen, values['username'])
    values['package_id'] = make_package_id(gen.package, values['username'])

    values['num_likes'] = gen.tag_set.filter(name='.fav').count()
    
    sub_gens, num_sub_gens = get_relatives(gen, 'sub_gen', 50, user)
    values['sub_gens'] = sub_gens
    values['num_sub_gens'] = num_sub_gens

    parents, num_parents = get_relatives(gen, 'parent', 50, user)
    values['parents'] = parents
    values['num_parents'] = num_parents

    categories, num_categories = get_relatives(gen, 'category', 50, user)
    values['categories'] = categories
    values['num_categories'] = num_categories

    values['num_downloads'] = gen.package.num_downloaded
    values['date_uploaded'] = gen.package.date_uploaded

    images = gen.thumbnail_set.values('fname')
    values['images'] = [str(i['fname']) for i in images]

    return values
예제 #2
0
def get_user_info(username=None, record=None):
    user_record = record or User.objects.select_related().get(username=username)

    if not user_record:
        return None

    fields = ['username', 'first_name', 'last_name',
              'date_joined', 'last_login']
    values = getvalues(user_record, fields)

    values['num_generators'] = user_record.generator_set.count()
    values['num_packages'] = user_record.package_set.count()
    favs = Tag.objects.filter(user=user_record, name='.fav')
    values['favs'] = [get_generator_info(record=f.generator) for f in favs]

    return values
예제 #3
0
def get_package_info(package_id=None, record=None, user=None):
    pack_record = record or get_package(package_id, user)

    if not pack_record:
        return None

    fields = ['version', 'date_uploaded', 'title', 'description']
    values = getvalues(pack_record, fields)

    values['username'] = user.username if user else pack_record.user.username
    values['package_id'] = make_package_id(pack_record, values['username'])

    gens = pack_record.generator_set.all()
    values['num_generators'] = gens.count()
    values['generator_ids'] = [make_generator_id(g, values['username'])
                                              for g in gens[:50]]
    values['gens'] = [get_generator_info(record=g) for g in gens[:50]]

    return values