Beispiel #1
0
def since_xml(request, deal_id):
    latest_deals = [d for d in Deal.getDeals(since=deal_id)]

    sio = cStringIO.StringIO()
    if len(latest_deals):
        dealer = XMLDealer(out=sio)
        dealer.startDocument()
        dealer.addDeals(latest_deals)
        dealer.endDocument()

    t = loader.get_template('dealviewer/since.xml')
    c = Context({
        'latest_deals': sio.getvalue()
        })
    if not latest_deals:
        return HttpResponseNotFound(t.render(c))
    return HttpResponse(t.render(c), mimetype='text/xml')
Beispiel #2
0
def search(request):
    terms = request.GET.get('q')

    found_deals = []
    if terms:
        found_deals = Deal.getDeals(num=MAX_DEALS, terms=terms)

    t = loader.get_template('dealviewer/search.html')
    c = Context({
        'page_title': 'Deal Search',
        'terms': terms,
        'deal_list': [d for d in found_deals],
        'MAX_DEALS': MAX_DEALS
        })
    if not found_deals:
        return HttpResponseNotFound(t.render(c))
    return HttpResponse(t.render(c))
Beispiel #3
0
def index(request):
    num_deals = int(request.GET.get('num_deals', NUM_DEFAULT))
    ### TEMP
    show_filters = bool(request.GET.get('filters',False))
    err_msg = None
    show_minus = show_plus = True
    response = HttpResponse

    if num_deals < 1:
        num_deals = NUM_DEFAULT
        err_msg = 'Too few deals specified!  Defaulting to %s.' % num_deals
        response = HttpResponseBadRequest
    elif num_deals - 5 < 1:
        show_minus = False
    #elif num_deals + 5 > MAX_DEALS:
    #    show_plus = False
    elif num_deals > MAX_DEALS:
        num_deals = MAX_DEALS
        err_msg = 'Too many deals specified!  Defaulting to %s.  To see more, contact kevin-at-pheared-dot-net' % MAX_DEALS
        response = HttpResponseBadRequest

    latest_deals = Deal.getDeals(num=num_deals)

    feed_list = models.getFeeds()

    t = loader.get_template('dealviewer/index.html')
    c = Context({
        'page_title': 'Deals!',
        'deal_list': latest_deals,
        'num_deals': num_deals,
        'err': err_msg,
        'show_minus': show_minus,
        'show_plus': show_plus,
        'show_filters': show_filters,
        'feed_list': feed_list
        })

    return response(t.render(c))