auction.utils.generic: 31 total statements, 81.5% covered

Generated: Mon 2013-04-29 18:13 CST

Source file: /home/slam/workspace/django-auction/auction/utils/generic.py

Stats: 22 executed, 5 missed, 4 excluded, 16 ignored

  1. from auction.models.bidbasket import BidBasket
  2. from django.contrib.auth.models import AnonymousUser
  3. def get_bidbasket_from_database(request):
  4. try:
  5. return BidBasket.objects.filter(user=request.user)[0]
  6. except Exception, e:
  7. return False
  8. def get_or_create_bidbasket(request, save=False):
  9. """
  10. Return bidbasket for current visitor.
  11. Requires a logged in user.
  12. If ``save`` is True, bidbasket object will be explicitly saved.
  13. """
  14. bidbasket = None
  15. if not hasattr(request, '_bidbasket'):
  16. bidbasket = None
  17. is_logged_in = request.user and not isinstance(request.user, AnonymousUser)
  18. if is_logged_in:
  19. bidbasket = get_bidbasket_from_database(request)
  20. if bidbasket:
  21. # and save it to the session
  22. request.session['bidbasket_id'] = bidbasket.pk
  23. else:
  24. bidbasket = BidBasket(user=request.user)
  25. if save and not bidbasket.pk:
  26. bidbasket.save()
  27. request.session['bidbasket_id'] = bidbasket.pk
  28. setattr(request, '_bidbasket', bidbasket)
  29. bidbasket = getattr(request, '_bidbasket') # There we *must* have a bidbasket
  30. return bidbasket
  31. def get_current_time():
  32. import datetime
  33. try:
  34. from django.utils.timezone import utc
  35. now = datetime.datetime.utcnow().replace(tzinfo=utc)
  36. except ImportError:
  37. now = datetime.datetime.utcnow()
  38. return now