cms.contrib.modelstats package

Submodules

cms.contrib.modelstats.admin module

class cms.contrib.modelstats.admin.ModelTimeChart(model, querylist, aggregate_field='id', date_start=None, date_end=None, params=None, interval=None, timeline_only=False)

Bases: cms.contrib.modelstats.admin.ModelTimeChartBase

get_bounds(queryset)
get_chart_data(json=False)
get_interval()
get_series()
get_table_size()
class cms.contrib.modelstats.admin.ModelTimeChartBase

Bases: object

clean_queryset(qs, field)
class cms.contrib.modelstats.admin.ModelTimeChartSimple(model, queryset, aggregate_field='id', date_start=None, date_end=None, date_field=None, interval=None)

Bases: cms.contrib.modelstats.admin.ModelTimeChartBase

get_chart_data(json=False)
get_series()

cms.contrib.modelstats.cms_plugin module

class cms.contrib.modelstats.cms_plugin.CMSPlugin

Bases: cms.core.plugins.CMSPluginBase

description = <django.utils.functional.__proxy__ object at 0x3203210>
staticfiles = {'admin': {'css': ['contrib.modelstats.css'], 'js': ['contrib.modelstats.changelist.js', 'contrib.modelstats.dashboard.js', 'contrib.modelstats.sitestats.js']}}
status = 'stable'
verbose_name = <django.utils.functional.__proxy__ object at 0x3203250>
version = '0.4'

cms.contrib.modelstats.exceptions module

exception cms.contrib.modelstats.exceptions.DateFieldMissing

Bases: cms.contrib.modelstats.exceptions.QuerySetStatsError

exception cms.contrib.modelstats.exceptions.InvalidInterval

Bases: cms.contrib.modelstats.exceptions.QuerySetStatsError

exception cms.contrib.modelstats.exceptions.InvalidOperator

Bases: cms.contrib.modelstats.exceptions.QuerySetStatsError

exception cms.contrib.modelstats.exceptions.InvalidTimezone

Bases: exceptions.Exception

exception cms.contrib.modelstats.exceptions.QuerySetMissing

Bases: cms.contrib.modelstats.exceptions.QuerySetStatsError

exception cms.contrib.modelstats.exceptions.QuerySetStatsError

Bases: exceptions.Exception

exception cms.contrib.modelstats.exceptions.UnsupportedEngine

Bases: cms.contrib.modelstats.exceptions.QuerySetStatsError

cms.contrib.modelstats.modules module

class cms.contrib.modelstats.modules.ModelstatsDashboardModule(request)

Bases: object

Base class for models, which are shown through ModelstatsModule (for the dashboard of the admin index).

date_field = 'created_date'
get_actions(request)
get_dashboard_context(request, refresh)
get_dashboard_simple_context(request)
get_dashboard_stats(request)
get_objects(request)
get_objects_for_stats(request)
get_sitestats_context(request, period, refresh)
get_sitestats_stats(request, period)

Function used only for sitestats dashboard.

icon_class = None
limit = 3
model = None
perms = ()
template_recent = None
title = None
title_stats = None
update_context(extra_context=None)
class cms.contrib.modelstats.modules.ModelstatsModule(title=None, **kwargs)

Bases: cms.contrib.admin.modules.TabsReloadableModule

This modules is used for the dashboard of the admin index.

css_classes = ('grp-module-tabs', 'grp-module-tabs', 'modelstats')
html_id = 'modelstats'
icon_class = 'icon-resistor'
icon_class_from_children = True
init_with_context(context)
is_empty()
url = 'admin:ajax.contrib.modelstats.dashboard'
class cms.contrib.modelstats.modules.ModelstatsSitestatsModule(title=None, **kwargs)

Bases: cms.contrib.admin.modules.TabsReloadableModule

This modules is used for the sitestats dashboard.

css_classes = ('grp-module-tabs', 'grp-module-tabs', 'modelstats')
html_id = 'modelstats'
icon_class = 'icon-resistor'
init_with_context(context)
is_empty()
size_min = True
url = 'admin:ajax.contrib.modelstats.sitestats'
class cms.contrib.modelstats.modules.ModelstatsUserModule

Bases: object

Base class for user statistics in admin.

get_context(request)
get_extra_context(request)
get_objects(request)
has_perms = False
icon_class = None
model = None
perms = ()
title = None
user_field = 'author'
class cms.contrib.modelstats.modules.ModelstatsUserTopModule(title=None, **kwargs)

Bases: cms.contrib.admin.modules.DashboardModule

css_classes = ('grp-module-tabs', 'grp-module-tabs', 'modelstatsusertop')
html_id = 'modelstatsusertop'
icon_class = 'icon-user'
init_with_context(context)
is_empty()
size_min = True
url = 'admin:ajax.contrib.modelstats.sitestats.usertop'

cms.contrib.modelstats.stats module

class cms.contrib.modelstats.stats.QuerySetStats(qs, date_field, aggregate=None)

Bases: object

Generates statistics about a queryset using Django aggregates. QuerySetStats is able to handle snapshots of data (for example this day, week, month, or year) or generate time series data suitable for graphing.

after(dt, date_field=None, aggregate=None)
after_now(date_field=None, aggregate=None)
clean_queryset(qs)
for_interval(interval, dt, date_field=None, aggregate=None)
pivot(dt, operator=None, date_field=None, aggregate=None)
this_interval(interval, date_field=None, aggregate=None)
time_series(start=None, end=None, interval='days', date_field=None, aggregate=None, engine=None)

Aggregate over time intervals

until(dt, date_field=None, aggregate=None)
until_now(date_field=None, aggregate=None)
class cms.contrib.modelstats.stats.ResultListStats(qs, date_field, aggregate=None)

Bases: cms.contrib.modelstats.stats.QuerySetStats

time_series(start, end, interval='days', date_field=None)

Aggregate over time intervals using just 1 sql query

cms.contrib.modelstats.utils module

cms.contrib.modelstats.utils.get_bounds(dt, interval)

Returns interval bounds the datetime is in.

cms.contrib.modelstats.utils.get_interval_sql(date_field, interval, engine, tz)

Returns SQL clause that calculates the beginning of interval date_field belongs to.

cms.contrib.modelstats.views module

class cms.contrib.modelstats.views.ModelstatsDashboardView(**kwargs)

Bases: cms.contrib.admin.views.AdminAjaxBaseView

get_context(request)
template_name = 'grappelli/dashboard/modules/modelstats_content.html'
class cms.contrib.modelstats.views.ModelstatsSitestatsView(**kwargs)

Bases: cms.contrib.admin.views.AdminAjaxBaseView

get_context(request)
template_name = 'grappelli/dashboard/modules/modelstats_sitestats_content.html'
class cms.contrib.modelstats.views.ModelstatsUserView(**kwargs)

Bases: cms.contrib.admin.views.AdminAjaxBaseView

get_context(request)
template_name = 'admin/includes/modelstatsuser.html'

Module contents