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.Enum
An 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:
object
A 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