shuup.reports package
Subpackages
Submodules
shuup.reports.apps module
- class shuup.reports.apps.AppConfig(*args, **kwargs)[source]
Bases:
AppConfig
- name = 'shuup.reports'
- provides = {'admin_module': ['shuup.reports.admin_module:ReportsAdminModule'], 'report_writer_populator': ['shuup.reports.writer.populate_default_writers']}
See /provides for details about the
provides
variable.
shuup.reports.forms module
- class shuup.reports.forms.DateRangeChoices(value)[source]
Bases:
Enum
- CUSTOM = 'custom'
- TODAY = 'today'
- RUNNING_WEEK = 'running_week'
- RUNNING_MONTH = 'running_month'
- THIS_WEEK = 'this_week'
- THIS_MONTH = 'this_month'
- THIS_YEAR = 'this_year'
- ALL_TIME = 'all_time'
- class shuup.reports.forms.ShuupReportForm(*args, **kwargs)[source]
Bases:
Form
- base_fields = {'force_download': <django.forms.fields.BooleanField object>, 'report': <django.forms.fields.CharField object>, 'writer': <django.forms.fields.ChoiceField object>}
- declared_fields = {'force_download': <django.forms.fields.BooleanField object>, 'report': <django.forms.fields.CharField object>, 'writer': <django.forms.fields.ChoiceField object>}
- property media
Return all media required to render the widgets on this form.
- class shuup.reports.forms.BaseReportForm(*args, **kwargs)[source]
Bases:
ShuupReportForm
- clean()[source]
Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.
- base_fields = {'date_range': <enumfields.forms.EnumChoiceField object>, 'end_date': <django.forms.fields.DateTimeField object>, 'force_download': <django.forms.fields.BooleanField object>, 'report': <django.forms.fields.CharField object>, 'shop': <django.forms.fields.ChoiceField object>, 'start_date': <django.forms.fields.DateTimeField object>, 'writer': <django.forms.fields.ChoiceField object>}
- declared_fields = {'date_range': <enumfields.forms.EnumChoiceField object>, 'end_date': <django.forms.fields.DateTimeField object>, 'force_download': <django.forms.fields.BooleanField object>, 'report': <django.forms.fields.CharField object>, 'shop': <django.forms.fields.ChoiceField object>, 'start_date': <django.forms.fields.DateTimeField object>, 'writer': <django.forms.fields.ChoiceField object>}
- property media
Return all media required to render the widgets on this form.
shuup.reports.report module
shuup.reports.settings module
- shuup.reports.settings.DEFAULT_REPORTS_ITEM_LIMIT = 2000
Defines the maximum number of items that will be rendered by a report
shuup.reports.utils module
shuup.reports.writer module
- class shuup.reports.writer.ReportWriter[source]
Bases:
object
- content_type = None
- extension = None
- inline = False
- writer_type = 'base'
- render_report(report, inline=False)[source]
Renders given report
- Parameters:
report
- Returns:
- Return type:
- class shuup.reports.writer.CSVReportWriter[source]
Bases:
ReportWriter
- content_type = 'text/csv'
- extension = '.csv'
- writer_type = 'csv'
- class shuup.reports.writer.ExcelReportWriter[source]
Bases:
ReportWriter
- content_type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
- extension = '.xlsx'
- writer_type = 'excel'
- class shuup.reports.writer.HTMLReportWriter[source]
Bases:
ReportWriter
- content_type = 'text/html; charset=UTF-8'
- extension = '.html'
- writer_type = 'html'
- INLINE_TEMPLATE = '<body>\n %(body)s\n</body>'
- TEMPLATE = '<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8">\n<title>%(title)s</title>\n%(extrahead)s\n<style type="text/css">%(style)s</style>\n</head><body>\n %(body)s\n</body></html>'
- styles = '@page { size: 8.5in 11in }\nbody { max-width: 95%}\ntable {\n table-layout: fixed;\n width: 100%;\n}\ntable, th, td {\n word-break: break-all;\n word-wrap: break-word;\n}'
- extra_header = ''
- class shuup.reports.writer.PDFReportWriter[source]
Bases:
HTMLReportWriter
- content_type = 'application/pdf'
- extension = '.pdf'
- writer_type = 'pdf'
- class shuup.reports.writer.JSONReportWriter[source]
Bases:
ReportWriter
- content_type = 'application/json'
- extension = '.json'
- writer_type = 'json'
- class shuup.reports.writer.PprintReportWriter[source]
Bases:
JSONReportWriter
- content_type = 'text/plain'
- extension = '.txt'
- writer_type = 'pprint'
- class shuup.reports.writer.ReportWriterPopulator[source]
Bases:
object
A class which populates the report writers map.
- report_writers_map = {'csv': <class 'shuup.reports.writer.CSVReportWriter'>, 'excel': <class 'shuup.reports.writer.ExcelReportWriter'>, 'html': <class 'shuup.reports.writer.HTMLReportWriter'>, 'json': <class 'shuup.reports.writer.JSONReportWriter'>, 'pdf': <class 'shuup.reports.writer.PDFReportWriter'>, 'pprint': <class 'shuup.reports.writer.PprintReportWriter'>}
- populate()[source]
Iterate over all report_writer_populator provides to fill/update the report writer map
- register(writer_name, writer_class)[source]
Register a report writer for use.
If a writer with same name already exists, it will be overwriten.
- Parameters:
writer_name (str) – the unique name of the writer
writer_class (ReportWriter) – the report writer class
- property populated_map
Returns the populated map.