예제 #1
0
def download_xml():
  certifier = 'amazon'
  if request.authorization.username != certifier:
    abort(401)
  certifier = Certifier.get_by_key_name(certifier)
  if not certifier:
    abort(404)

  pages = list(certifier.pages)
  pages.sort(key=operator.attrgetter('owner_name'))
  pages.sort(key=operator.attrgetter('wish_pieces'), reverse=True)
  pages.sort(key=operator.attrgetter('wish_amount'), reverse=True)

  now = tzconv.jst_from_utc(datetime.datetime.now())

  text = render_template('wishlist.xml', pages=pages, now=now)
  text = text.encode('cp932')

  fname = certifier.key().name()
  fname += '_'
  fname += now.strftime('%Y%m%d%H%M')
  fname += '.xml'

  return Response(
    text,
    headers={'content-disposition': 'attachment; filename=%s' % fname},
    content_type='text/xml; charset=sjis',
  )
예제 #2
0
def top():
  pages = WishListPage.all()
  pages = pages.filter('owner_name !=', None)
  pages = list(pages)
  pages.sort(key=operator.attrgetter('owner_name'))
  pages.sort(key=operator.attrgetter('wish_pieces'), reverse=True)
  pages.sort(key=operator.attrgetter('wish_amount'), reverse=True)

  wi = gi = wp = gp = wa = ga = 0
  for page in pages:
    wi += page.wish_items
    wp += page.wish_pieces
    wa += page.wish_amount
    gi += page.got_items
    gp += page.got_pieces
    ga += page.got_amount

  return render_template('top.html',
    pages=pages,
    wi=wi, wp=wp, wa=wa, gi=gi, gp=gp, ga=ga,
    now=tzconv.jst_from_utc(datetime.datetime.now()),
  )