shuup.reports package¶
Subpackages¶
Submodules¶
shuup.reports.apps module¶
-
class
shuup.reports.apps.AppConfig(*args, **kwargs)[source]¶ Bases:
shuup.apps.AppConfig-
name= 'shuup.reports'¶
-
provides= {'admin_module': ['shuup.reports.admin_module:ReportsAdminModule'], 'report_writer_populator': ['shuup.reports.writer.populate_default_writers']}¶
-
shuup.reports.forms module¶
-
class
shuup.reports.forms.DateRangeChoices[source]¶ Bases:
enumfields.enums.EnumAn enumeration.
-
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:
django.forms.forms.Form-
base_fields= OrderedDict([('report', <django.forms.fields.CharField object>), ('writer', <django.forms.fields.ChoiceField object>), ('force_download', <django.forms.fields.BooleanField object>)])¶
-
declared_fields= OrderedDict([('report', <django.forms.fields.CharField object>), ('writer', <django.forms.fields.ChoiceField object>), ('force_download', <django.forms.fields.BooleanField object>)])¶
-
media¶
-
-
class
shuup.reports.forms.BaseReportForm(*args, **kwargs)[source]¶ Bases:
shuup.reports.forms.ShuupReportForm-
base_fields= OrderedDict([('report', <django.forms.fields.CharField object>), ('writer', <django.forms.fields.ChoiceField object>), ('force_download', <django.forms.fields.BooleanField object>), ('shop', <django.forms.fields.ChoiceField object>), ('date_range', <enumfields.forms.EnumChoiceField object>), ('start_date', <django.forms.fields.DateTimeField object>), ('end_date', <django.forms.fields.DateTimeField object>)])¶
-
declared_fields= OrderedDict([('report', <django.forms.fields.CharField object>), ('writer', <django.forms.fields.ChoiceField object>), ('force_download', <django.forms.fields.BooleanField object>), ('shop', <django.forms.fields.ChoiceField object>), ('date_range', <enumfields.forms.EnumChoiceField object>), ('start_date', <django.forms.fields.DateTimeField object>), ('end_date', <django.forms.fields.DateTimeField object>)])¶
-
media¶
-
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.ExcelReportWriter[source]¶ Bases:
shuup.reports.writer.ReportWriter-
content_type= 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'¶
-
extension= '.xlsx'¶
-
writer_type= 'excel'¶
-
-
class
shuup.reports.writer.HTMLReportWriter[source]¶ Bases:
shuup.reports.writer.ReportWriter-
content_type= 'text/html; charset=UTF-8'¶
-
extension= '.html'¶
-
writer_type= 'html'¶
-
INLINE_TEMPLATE= '<style type="text/css">%(style)s</style>\n %(body)s'¶
-
TEMPLATE= '<html>\n<head>\n<meta charset="UTF-8">\n<title>%(title)s</title>\n%(extrahead)s\n</head><style type="text/css">%(style)s</style>\n %(body)s</html>'¶
-
styles= '@page { prince-shrink-to-fit: auto }'¶
-
extra_header= ''¶
-
-
class
shuup.reports.writer.PDFReportWriter[source]¶ Bases:
shuup.reports.writer.HTMLReportWriter-
content_type= 'application/pdf'¶
-
extension= '.pdf'¶
-
writer_type= 'pdf'¶
-
-
class
shuup.reports.writer.JSONReportWriter[source]¶ Bases:
shuup.reports.writer.ReportWriter-
content_type= 'application/json'¶
-
extension= '.json'¶
-
writer_type= 'json'¶
-
-
class
shuup.reports.writer.PprintReportWriter[source]¶ Bases:
shuup.reports.writer.JSONReportWriter-
content_type= 'text/plain'¶
-
extension= '.txt'¶
-
writer_type= 'pprint'¶
-
-
class
shuup.reports.writer.ReportWriterPopulator[source]¶ Bases:
objectA class which populates the report writers map.
-
report_writers_map= {'html': <class 'shuup.reports.writer.HTMLReportWriter'>, 'pdf': <class 'shuup.reports.writer.PDFReportWriter'>, 'json': <class 'shuup.reports.writer.JSONReportWriter'>, 'pprint': <class 'shuup.reports.writer.PprintReportWriter'>, 'excel': <class 'shuup.reports.writer.ExcelReportWriter'>}¶
-
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
-
populated_map¶ Returns the populated map.
-
-
shuup.reports.writer.get_writer_instance(writer_name)[source]¶ Get a report writer instance by name.
Parameters: writer_name (str) – the name of the report writer Return type: ReportWriter