Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

wrappers.py 1.2KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import datetime
  2. from django.conf import settings
  3. from django.utils.translation import ugettext_lazy as _
  4. from django.utils.importlib import import_module
  5. def get_partner_wrapper(test_partner):
  6. """
  7. Returns the appropriate partner wrapper given the partner name
  8. """
  9. for partner, class_str in settings.OSCAR_PARTNER_WRAPPERS.items():
  10. if partner == test_partner:
  11. bits = class_str.split('.')
  12. class_name = bits.pop()
  13. module_str = '.'.join(bits)
  14. module = import_module(module_str)
  15. return getattr(module, class_name)()
  16. return DefaultWrapper()
  17. class DefaultWrapper(object):
  18. """
  19. Default stockrecord wrapper
  20. """
  21. def availability(self, stockrecord):
  22. if stockrecord.num_in_stock > 0:
  23. return _("In stock (%d available)" % stockrecord.num_in_stock)
  24. return _("Out of stock")
  25. def dispatch_date(self, stockrecord):
  26. if stockrecord.num_in_stock:
  27. # Assume next day for in-stock items
  28. return datetime.date.today() + datetime.timedelta(days=1)
  29. # Assume one week for out-of-stock items
  30. return datetime.date.today() + datetime.timedelta(days=7)