summaryrefslogtreecommitdiff
path: root/ishtar_common/management/commands/json_summary.py
blob: 95ef1d66df432c5850b6787afad84de998222fda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import datetime
import sys
import json

from django.core.management.base import BaseCommand

from archaeological_operations.models import Operation, ArchaeologicalSite
from archaeological_context_records.models import ContextRecord
from archaeological_finds.models import Find
from archaeological_warehouse.models import Warehouse, Container


class Command(BaseCommand):
    args = ""
    help = "Json export of sums"

    def handle(self, *args, **options):
        data = {
            "date": datetime.datetime.now().isoformat(),
            "finds": Find.objects.count(),
            "operations": Operation.objects.count(),
            "operations_with_finds": Operation.objects.filter(
                context_record__base_finds__pk__isnull=False
            ).values("id").distinct().count(),
            "context_records": ContextRecord.objects.count(),
            "sites": ArchaeologicalSite.objects.count(),
            "warehouses": Warehouse.objects.count(),
            "containers": Container.objects.filter(
                container_type__stationary=False).count(),
        }
        sys.stdout.write(json.dumps(data))