Revision 39d44eba

b/snf-cyclades-app/synnefo/quotas/management/commands/reconcile-resources-cyclades.py
78 78
        # Remove 'None' user
79 79
        users.discard(None)
80 80

  
81
        if userid and userid not in users:
82
            write("User '%s' does not exist in Quotaholder!", userid)
83
            return
84

  
81 85
        unsynced = []
82 86
        for user in users:
83 87
            db = db_holdings.get(user, {})
84
            qh_all = qh_holdings.get(user, {})
88
            try:
89
                qh_all = qh_holdings[user]
90
            except KeyError:
91
                write("User '%s' does not exist in Quotaholder!\n" %
92
                      user)
93
                continue
94

  
85 95
            # Assuming only one source
86 96
            qh = qh_all.get(quotas.DEFAULT_SOURCE, {})
87 97
            qh = transform_quotas(qh)
88 98
            for resource in quotas.RESOURCES:
89 99
                db_value = db.pop(resource, 0)
90
                qh_value, _, qh_pending = qh.pop(resource, (0, 0))
100
                try:
101
                    qh_value, _, qh_pending = qh[resource]
102
                except KeyError:
103
                    write("Resource '%s' does not exist in Quotaholder"
104
                          " for user '%s'!\n" % (resource, user))
105
                    continue
91 106
                if qh_pending:
92 107
                    write("Pending commission. User '%s', resource '%s'.\n" %
93 108
                          (user, resource))

Also available in: Unified diff