def gen_view(request, item_name=None): gen_info = query.get_generator_info(item_name) gen = query.get_generator(item_name) if gen: views = gen.views+1 if gen.views else 1 gen_info['views'] = views gen.views = views gen.save() gen_info['fimages'] = get_fimages(gen_info, '180x120') package_info = query.get_package_info(gen_info['package_id']) for gen in package_info['gens']: gen['fimages'] = get_fimages(gen, '30x30') user=query.get_user(package_info['username']) user_top = query.get_generators_list('popular', user=user, limit=5) for gen in user_top: gen['fimages'] = get_fimages(gen, '30x30') return render_response(request, 'ui/generator.html', { 'gen': gen_info, 'package': package_info, 'user_top': user_top })
def item_view(request, item_type, item_name, ordering='relevance', search_term=None, page_no=1, num=ITEMS_PER_PAGE): type = 'get_%s_info' %item_type fn = getattr(query, type) values = fn(item_name) if item_type == 'generator': gen = query.get_generator(item_name) if gen: views = gen.views+1 if gen.views else 1 values['views'] = views gen.views = views gen.save() code = 'success' if values else 'err_record' return apiresponse(code=code, data=values)
def get_image_path(generator_id, fname, size=None): gen = query.get_generator(generator_id) pack_path = get_package_path(gen) pack_id = gen.package.pack_id gen_id = gen.gen_id.split(pack_id, 1)[-1].lstrip('.') image_path = os.path.sep.join([pack_path, 'screenshots', gen_id, fname]) if size: id = '+'.join([generator_id, fname, size]) fsize = [int(s) for s in size.split('x', 1)] thumb_path = compute_cache_path(config.cache_dir, id) if not os.path.exists(thumb_path): im = Image.open(image_path) im.thumbnail(fsize, Image.ANTIALIAS) im.save(thumb_path, "JPEG") image_path = thumb_path return image_path
def download(request, _id): gen = query.get_generator(_id) if not gen: return apiresponse(code='err_record') pack_path = get_package_path(gen) zip_file = '.'.join([pack_path, 'zip']) if not os.path.exists(zip_file): return apiresponse(code='err_record') data = open(zip_file, 'rb').read() resp = HttpResponse(mimetype='application/zip') resp['Content-Disposition'] = 'attachment; filename=%s.zip' % _id resp.write(data) pack = gen.package num_downloaded = pack.num_downloaded+1 if pack.num_downloaded else 1 pack.num_downloaded = num_downloaded pack.save() return resp