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.

123456789101112131415161718192021222324252627
  1. from oscar.core.loading import import_module
  2. order_reports = import_module('order.reports', ['OrderReportGenerator'])
  3. analytics_reports = import_module('analytics.reports', ['ProductReportGenerator', 'UserReportGenerator'])
  4. basket_reports = import_module('basket.reports', ['OpenBasketReportGenerator', 'SubmittedBasketReportGenerator'])
  5. offer_reports = import_module('offer.reports', ['OfferReportGenerator'])
  6. voucher_reports = import_module('voucher.reports', ['VoucherReportGenerator'])
  7. class GeneratorRepository(object):
  8. generators = [order_reports.OrderReportGenerator,
  9. analytics_reports.ProductReportGenerator,
  10. analytics_reports.UserReportGenerator,
  11. basket_reports.OpenBasketReportGenerator,
  12. basket_reports.SubmittedBasketReportGenerator,
  13. voucher_reports.VoucherReportGenerator,
  14. offer_reports.OfferReportGenerator]
  15. def get_report_generators(self):
  16. return self.generators
  17. def get_generator(self, code):
  18. for generator in self.generators:
  19. if generator.code == code:
  20. return generator
  21. return None