Revision e336910f snf-astakos-app/astakos/im/management/commands/quota.py

b/snf-astakos-app/astakos/im/management/commands/quota.py
35 35
from django.core.management.base import CommandError
36 36

  
37 37
from astakos.im.models import AstakosUser
38
from astakos.im.quotas import set_user_quota, list_user_quotas, add_base_quota
38
from astakos.im.quotas import (
39
    qh_sync_users, list_user_quotas, add_base_quota)
39 40
from astakos.im.functions import get_user_by_uuid
40 41
from astakos.im.management.commands._common import is_uuid, is_email
41 42
from snf_django.lib.db.transaction import commit_on_success_strict
......
104 105
        else:
105 106
            users = AstakosUser.objects.verified()
106 107

  
107
        try:
108
            qh_limits, qh_quotas, astakos_i, diff_q = list_user_quotas(users)
109
        except BaseException as e:
110
            logger.exception(e)
111
            raise CommandError("Failed to compute quota.")
108
        if list_only:
109
            qh_quotas, astakos_i = list_user_quotas(users)
112 110

  
113
        info = {}
114
        for user in users:
115
            info[user.uuid] = user.email
111
            info = {}
112
            for user in users:
113
                info[user.uuid] = user.email
116 114

  
117
        if list_only:
118 115
            print_data, labels = show_quotas(qh_quotas, astakos_i, info)
119 116
            utils.pprint_table(self.stdout, print_data, labels,
120 117
                               output_format)
121 118

  
122
        else:
119
        elif verify or sync:
120
            qh_limits, diff_q = qh_sync_users(users, sync=sync, diff_only=True)
123 121
            if verify:
124 122
                self.print_verify(qh_limits, diff_q)
125 123
            if sync:
126
                try:
127
                    set_user_quota(diff_q)
128
                except BaseException as e:
129
                    logger.exception(e)
130
                    raise CommandError("Failed to sync quota.")
131 124
                self.print_sync(diff_q)
132 125

  
133 126
    def get_user(self, user_ident):

Also available in: Unified diff