def justSold(request): initParam = {} page = request.GET.get('page', 1) revenue_min = request.GET.get('revenue_min', None) category = request.GET.get('category', None) subcategory = request.GET.get('subcategory', None) monetize = request.GET.get('monetize', None) device = request.GET.get('device', None) seller = request.GET.get('seller', None) currency_id = common.getSystemParam(key='currency', default=2) initParam['currency'] = get_object_or_404(appModels.Currency, pk=currency_id) app_id = txnModels.Transaction.objects.filter(status__gte=2, is_active=True).values_list('app_id') if revenue_min is None and category is None and subcategory is None and monetize is None and device is None and seller is None: apps = appModels.App.objects.filter(pk__in=app_id, app_type=1) #Revenue Part REVENUE_LIST = [2000, 1000, 500, 100, 0] initParam['revenue_list'] = [] for i in range(len(REVENUE_LIST)): if i == 0: temp_apps = appModels.App.objects.filter(pk__in=app_id, app_type=1, revenue__gte=REVENUE_LIST[i]) else: temp_apps = appModels.App.objects.filter(pk__in=app_id, app_type=1, revenue__lt=REVENUE_LIST[i-1], revenue__gte=REVENUE_LIST[i]) if revenue_min and string.atoi(revenue_min) == REVENUE_LIST[i]: apps = temp_apps title = _('Revenue(%(param)s/Month)') % {'param': initParam['currency'].currency} subTitle = _('Over %(param)s') % {'param': revenue_min} initParam['query_tile'] = [title, subTitle, ''.join(['?revenue_min=', revenue_min])] initParam['revenue_list'].append([REVENUE_LIST[i], len(temp_apps)]) #Monetize Part initParam['monetize_list'] = [] if monetize: monetizeModel = get_object_or_404(appModels.Monetize, pk=monetize) for temp_monetize in appModels.Monetize.objects.all(): if monetize and monetizeModel == temp_monetize: apps = monetizeModel.app_set.filter(pk__in=app_id, app_type=1) initParam['monetize_list'].append([temp_monetize, len(apps)]) initParam['query_tile'] = [_('Monetize'), temp_monetize.method, ''.join(['?monetize=', monetize])] else: initParam['monetize_list'].append([temp_monetize, temp_monetize.app_set.filter(pk__in=app_id, app_type=1).count()]) #Device Part initParam['device_list'] = [] if device: deviceModel = get_object_or_404(appModels.Device, pk=device) for tem_device in appModels.Device.objects.all(): if device and deviceModel == tem_device: apps = deviceModel.app_set.filter(pk__in=app_id, app_type=1) initParam['device_list'].append([tem_device, len(apps)]) initParam['query_tile'] = [_('Device'), tem_device.device, ''.join(['?device=', device])] else: initParam['device_list'].append([tem_device, tem_device.app_set.filter(pk__in=app_id, app_type=1).count()]) #Category Part initParam['category_list'] = [] if category: categoryModel = get_object_or_404(appModels.Category, apple_id=category) for temp_category in appModels.Category.objects.all(): if category and categoryModel == temp_category: apps = categoryModel.app_set.filter(pk__in=app_id, app_type=1) initParam['category_list'].append([temp_category, len(apps)]) initParam['query_tile'] = [_('Category'), temp_category.name, ''.join(['?category=', category])] else: initParam['category_list'].append([temp_category, temp_category.app_set.filter(pk__in=app_id, app_type=1).count()]) common.sortWithIndexLie(initParam['category_list'], 1, order='desc') #Query data initParam['apps'] = queryAppsWithPaginator(request, page=page, apps=apps) return render_to_response('query/listing_base.html', initParam, context_instance=RequestContext(request))
def listFeatured(request, *args, **kwargs): """Query the apps info in featured page.""" initParam = {} page = request.GET.get('page', 1) revenue_min = request.GET.get('revenue_min', None) category = request.GET.get('category', None) subcategory = request.GET.get('subcategory', None) monetize = request.GET.get('monetize', None) device = request.GET.get('device', None) seller = request.GET.get('seller', None) currency_id = common.getSystemParam(key='currency', default=2) initParam['currency'] = get_object_or_404(appModels.Currency, pk=currency_id) if revenue_min is None and category is None and subcategory is None and monetize is None and device is None and seller is None: apps = appModels.App.objects.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()) #Revenue Part REVENUE_LIST = [2000, 1000, 500, 100, 0] initParam['revenue_list'] = [] for i in range(len(REVENUE_LIST)): if i == 0: temp_apps = appModels.App.objects.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now(), revenue__gte=REVENUE_LIST[i]).order_by('status') else: temp_apps = appModels.App.objects.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now(), revenue__lt=REVENUE_LIST[i-1], revenue__gte=REVENUE_LIST[i]).order_by('status') if revenue_min and string.atoi(revenue_min) == REVENUE_LIST[i]: apps = temp_apps title = _('Revenue(%(param)s/Month)') % {'param': initParam['currency'].currency} subTitle = _('Over %(param)s') % {'param': revenue_min} initParam['query_tile'] = [title, subTitle, ''.join(['?revenue_min=', revenue_min])] initParam['revenue_list'].append([REVENUE_LIST[i], len(temp_apps)]) #Monetize Part initParam['monetize_list'] = [] if monetize: monetizeModel = get_object_or_404(appModels.Monetize, pk=monetize) for temp_monetize in appModels.Monetize.objects.all(): if monetize and monetizeModel == temp_monetize: apps = monetizeModel.app_set.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()) initParam['monetize_list'].append([temp_monetize, len(apps)]) initParam['query_tile'] = [_('Monetize'), temp_monetize.method, ''.join(['?monetize=', monetize])] else: initParam['monetize_list'].append([temp_monetize, temp_monetize.app_set.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()).count()]) #Device Part initParam['device_list'] = [] if device: deviceModel = get_object_or_404(appModels.Device, pk=device) for tem_device in appModels.Device.objects.all(): if device and deviceModel == tem_device: apps = deviceModel.app_set.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()) initParam['device_list'].append([tem_device, len(apps)]) initParam['query_tile'] = [_('Device'), tem_device.device, ''.join(['?device=', device])] else: initParam['device_list'].append([tem_device, tem_device.app_set.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()).count()]) #Category Part initParam['category_list'] = [] if category: categoryModel = get_object_or_404(appModels.Category, apple_id=category) for temp_category in appModels.Category.objects.all(): if category and categoryModel == temp_category: apps = categoryModel.app_set.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()) initParam['category_list'].append([temp_category, len(apps)]) initParam['query_tile'] = [_('Category'), temp_category.name, ''.join(['?category=', category])] else: initParam['category_list'].append([temp_category, temp_category.app_set.filter(app_type=1, status=2, end_date__gt=datetime.datetime.now()).count()]) common.sortWithIndexLie(initParam['category_list'], 1, order='desc') #SubCategory Part from app detail page. if subcategory: subcategoryModel = get_object_or_404(appModels.SubCategory, apple_id=subcategory) apps = subcategoryModel.app_set.filter(app_type=1).exclude(status=1).order_by('status') initParam['query_tile'] = ['SubCategory', subcategoryModel.name, ''.join(['?subcategory=', subcategory])] #Seller part from watch sellers page. if seller: sellerModel = get_object_or_404(User, pk=seller) apps = sellerModel.app_set.filter(app_type=1).exclude(status=1).order_by('status') initParam['query_tile'] = ['Seller', sellerModel.username, ''.join(['?seller=', seller])] #Query data initParam['apps'] = queryAppsWithPaginator(request, page=page, apps=apps) return render_to_response('query/listing_base.html', initParam, context_instance=RequestContext(request))
def mostActive(request): """Query the apps info in most active page.""" initParam = {} page = request.GET.get('page', 1) revenue_min = request.GET.get('revenue_min', None) category = request.GET.get('category', None) subcategory = request.GET.get('subcategory', None) monetize = request.GET.get('monetize', None) device = request.GET.get('device', None) seller = request.GET.get('seller', None) currency_id = common.getSystemParam(key='currency', default=2) initParam['currency'] = get_object_or_404(appModels.Currency, pk=currency_id) app_id = [] bids = bidModels.Bidding.objects.values('app').annotate(bid_num=Count('app')).order_by('-bid_num') for bid in bids: app_id.append(bid.get('app')) if revenue_min is None and category is None and subcategory is None and monetize is None and device is None and seller is None: apps = appModels.App.objects.filter(pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()) #Revenue Part REVENUE_LIST = [2000, 1000, 500, 100, 0] initParam['revenue_list'] = [] for i in range(len(REVENUE_LIST)): if i == 0: temp_apps = appModels.App.objects.filter(pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now(), revenue__gte=REVENUE_LIST[i]) else: temp_apps = appModels.App.objects.filter(pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now(), revenue__lt=REVENUE_LIST[i-1], revenue__gte=REVENUE_LIST[i]) if revenue_min and string.atoi(revenue_min) == REVENUE_LIST[i]: apps = temp_apps title = _('Revenue(%(param)s/Month)') % {'param': initParam['currency'].currency} subTitle = _('Over %(param)s') % {'param': revenue_min} initParam['query_tile'] = [title, subTitle, ''.join(['?revenue_min=', revenue_min])] initParam['revenue_list'].append([REVENUE_LIST[i], len(temp_apps)]) #Monetize Part initParam['monetize_list'] = [] if monetize: monetizeModel = get_object_or_404(appModels.Monetize, pk=monetize) for temp_monetize in appModels.Monetize.objects.all(): if monetize and monetizeModel == temp_monetize: apps = monetizeModel.app_set.filter(pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()) initParam['monetize_list'].append([temp_monetize, len(apps)]) initParam['query_tile'] = [_('Monetize'), temp_monetize.method, ''.join(['?monetize=', monetize])] else: initParam['monetize_list'].append([temp_monetize, temp_monetize.app_set.filter( pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()).count()]) #Device Part initParam['device_list'] = [] if device: deviceModel = get_object_or_404(appModels.Device, pk=device) for tem_device in appModels.Device.objects.all(): if device and deviceModel == tem_device: apps = deviceModel.app_set.filter(pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()) initParam['device_list'].append([tem_device, len(apps)]) initParam['query_tile'] = [_('Device'), tem_device.device, ''.join(['?device=', device])] else: initParam['device_list'].append([tem_device, tem_device.app_set.filter( pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()).count()]) #Category Part initParam['category_list'] = [] if category: categoryModel = get_object_or_404(appModels.Category, apple_id=category) for temp_category in appModels.Category.objects.all(): if category and categoryModel == temp_category: apps = categoryModel.app_set.filter(pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()) initParam['category_list'].append([temp_category, len(apps)]) initParam['query_tile'] = [_('Category'), temp_category.name, ''.join(['?category=', category])] else: initParam['category_list'].append([temp_category, temp_category.app_set.filter( pk__in=app_id, app_type=1, status=2, end_date__gt=datetime.datetime.now()).count()]) common.sortWithIndexLie(initParam['category_list'], 1, order='desc') #For sort app by bid numbers app_map = {} for app in apps: app_map[str(app.id)] = app new_app = [] for id in app_id: if app_map.get(str(id)): new_app.append(app_map.get(str(id))) #Query data initParam['apps'] = queryAppsWithPaginator(request, page=page, apps=new_app) return render_to_response('query/listing_base.html', initParam, context_instance=RequestContext(request))