You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

__init__.py 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import os
  2. # Use 'final' as the 4th element to indicate
  3. # a full release
  4. VERSION = (0, 4, 0, 'alpha', 0)
  5. def get_short_version():
  6. return '%s.%s' % (VERSION[0], VERSION[1])
  7. def get_version():
  8. version = '%s.%s' % (VERSION[0], VERSION[1])
  9. if VERSION[2]:
  10. # Append 3rd digit if > 0
  11. version = '%s.%s' % (version, VERSION[2])
  12. if VERSION[3:] == ('alpha', 0):
  13. version = '%s pre-alpha' % version
  14. elif VERSION[3] != 'final':
  15. version = '%s %s %s' % (version, VERSION[3], VERSION[4])
  16. return version
  17. # Cheeky setting that allows each template to be accessible by two paths.
  18. # Eg: the template 'oscar/templates/oscar/base.html' can be accessed via both
  19. # 'base.html' and 'oscar/base.html'. This allows Oscar's templates to be
  20. # extended by templates with the same filename
  21. OSCAR_MAIN_TEMPLATE_DIR = os.path.join(
  22. os.path.dirname(os.path.abspath(__file__)), 'templates/oscar')
  23. OSCAR_CORE_APPS = [
  24. 'oscar',
  25. 'oscar.apps.analytics',
  26. 'oscar.apps.order',
  27. 'oscar.apps.checkout',
  28. 'oscar.apps.shipping',
  29. 'oscar.apps.catalogue',
  30. 'oscar.apps.catalogue.reviews',
  31. 'oscar.apps.basket',
  32. 'oscar.apps.payment',
  33. 'oscar.apps.offer',
  34. 'oscar.apps.address',
  35. 'oscar.apps.partner',
  36. 'oscar.apps.customer',
  37. 'oscar.apps.promotions',
  38. 'oscar.apps.search',
  39. 'oscar.apps.voucher',
  40. 'oscar.apps.dashboard',
  41. 'oscar.apps.dashboard.reports',
  42. 'oscar.apps.dashboard.users',
  43. 'oscar.apps.dashboard.orders',
  44. 'oscar.apps.dashboard.promotions',
  45. 'oscar.apps.dashboard.catalogue',
  46. 'oscar.apps.dashboard.offers',
  47. 'oscar.apps.dashboard.ranges',
  48. 'oscar.apps.dashboard.vouchers',
  49. # 3rd-party apps that oscar depends on
  50. 'haystack',
  51. 'treebeard',
  52. 'sorl.thumbnail',
  53. ]
  54. def get_core_apps(overrides=None):
  55. """
  56. Return a list of oscar's apps amended with any passed overrides
  57. """
  58. if not overrides:
  59. return OSCAR_CORE_APPS
  60. def get_app_label(app_label, overrides):
  61. pattern = app_label.replace('oscar.apps.', '')
  62. for override in overrides:
  63. if override.endswith(pattern):
  64. if 'dashboard' in override and 'dashboard' not in pattern:
  65. continue
  66. return override
  67. return app_label
  68. apps = []
  69. for app_label in OSCAR_CORE_APPS:
  70. apps.append(get_app_label(app_label, overrides))
  71. return apps