##// END OF EJS Templates
Added statistics on file format usage
neko259 -
r1742:2cde539a default
parent child Browse files
Show More
@@ -1,28 +1,35 b''
1 from django.core.management import BaseCommand
1 from django.core.management import BaseCommand
2 from django.db.models import Count
2
3
3 from boards.models import Attachment
4 from boards.models import Attachment
4 from boards.utils import get_domain
5 from boards.utils import get_domain
5
6
6
7
7 class Command(BaseCommand):
8 class Command(BaseCommand):
8 help = 'Gather board statistics'
9 help = 'Gather board statistics'
9
10
10 def handle(self, *args, **options):
11 def handle(self, *args, **options):
12 print('* Domains and their usage')
11 domains = {}
13 domains = {}
12 for attachment in Attachment.objects.exclude(url=None):
14 for attachment in Attachment.objects.exclude(url=None):
13 full_domain = attachment.url.split('/')[2]
15 full_domain = attachment.url.split('/')[2]
14 domain = get_domain(full_domain)
16 domain = get_domain(full_domain)
15 if domain in domains:
17 if domain in domains:
16 domains[domain] += 1
18 domains[domain] += 1
17 else:
19 else:
18 domains[domain] = 1
20 domains[domain] = 1
19
21
20 print('* Domains and their usage')
21 for domain in domains:
22 for domain in domains:
22 print('{}: {}'.format(domain, domains[domain]))
23 print('{}: {}'.format(domain, domains[domain]))
23
24
24 print('* Overall numbers')
25 print('* Overall numbers')
25 print('{} attachments in the system, {} of them as URLs'.format(
26 print('{} attachments in the system, {} of them as URLs'.format(
26 Attachment.objects.count(),
27 Attachment.objects.count(),
27 Attachment.objects.exclude(url=None).count()))
28 Attachment.objects.exclude(url=None).count()))
28
29
30 print('* File types')
31 mimetypes = Attachment.objects.filter(url=None)\
32 .values('mimetype').annotate(count=Count('id'))\
33 .order_by('-count')
34 for mimetype in mimetypes:
35 print('{}: {}'.format(mimetype['mimetype'], mimetype['count']))
General Comments 0
You need to be logged in to leave comments. Login now