예제 #1
0
파일: views.py 프로젝트: kahihia/appbid
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))
예제 #2
0
파일: views.py 프로젝트: kahihia/appbid
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))
예제 #3
0
파일: views.py 프로젝트: kahihia/appbid
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))