##// END OF EJS Templates
Show max file number in the forms
Show max file number in the forms

File last commit:

r1765:7a6a61e1 default
r1771:11a13b7c default
Show More
statistics.py
34 lines | 1.1 KiB | text/x-python | PythonLexer
neko259
Added statistics management command
r1727 from django.core.management import BaseCommand
neko259
Added statistics on file format usage
r1742 from django.db.models import Count
neko259
Added statistics management command
r1727
from boards.models import Attachment
from boards.utils import get_domain
class Command(BaseCommand):
help = 'Gather board statistics'
def handle(self, *args, **options):
neko259
Added statistics on file format usage
r1742 print('* Domains and their usage')
neko259
Added statistics management command
r1727 domains = {}
neko259
Allow deleting aliases
r1750 for attachment in Attachment.objects.exclude(url=''):
neko259
Show domain next to URL if available
r1765 domain = get_domain(attachment.url)
neko259
Added statistics management command
r1727 if domain in domains:
domains[domain] += 1
else:
domains[domain] = 1
for domain in domains:
print('{}: {}'.format(domain, domains[domain]))
print('* Overall numbers')
print('{} attachments in the system, {} of them as URLs'.format(
Attachment.objects.count(),
neko259
Allow deleting aliases
r1750 Attachment.objects.exclude(url='').count()))
neko259
Added statistics management command
r1727
neko259
Added statistics on file format usage
r1742 print('* File types')
neko259
Allow deleting aliases
r1750 mimetypes = Attachment.objects.filter(url='')\
neko259
Show domain next to URL if available
r1765 .values('mimetype').annotate(count=Count('id'))\
.order_by('-count')
neko259
Added statistics on file format usage
r1742 for mimetype in mimetypes:
print('{}: {}'.format(mimetype['mimetype'], mimetype['count']))