Revision 0da5e49a snf-astakos-app/astakos/im/management/commands/astakos-quota.py
b/snf-astakos-app/astakos/im/management/commands/astakos-quota.py | ||
---|---|---|
80 | 80 |
else: |
81 | 81 |
log = self.run(sync) |
82 | 82 |
|
83 |
qh_l, qh_c, astakos_i, diff_q, info = log
|
|
83 |
qh_limits, qh_quotas, astakos_i, diff_q, info = log
|
|
84 | 84 |
|
85 | 85 |
if list_only: |
86 |
self.list_quotas(qh_l, qh_c, astakos_i, info)
|
|
86 |
self.list_quotas(qh_quotas, astakos_i, info)
|
|
87 | 87 |
else: |
88 | 88 |
if verify: |
89 |
self.print_verify(qh_l, diff_q) |
|
89 |
self.print_verify(qh_limits, diff_q)
|
|
90 | 90 |
if sync: |
91 | 91 |
self.print_sync(diff_q) |
92 | 92 |
|
... | ... | |
125 | 125 |
logger.exception(e) |
126 | 126 |
raise CommandError("Syncing failed.") |
127 | 127 |
|
128 |
def list_quotas(self, qh_limits, qh_counters, astakos_initial, info):
|
|
129 |
labels = ('uuid', 'email', 'resource', 'initial', 'total', 'usage') |
|
130 |
columns = (36, 30, 24, 12, 12, 12) |
|
128 |
def list_quotas(self, qh_quotas, astakos_initial, info):
|
|
129 |
labels = ('uuid', 'email', 'source', 'resource', 'initial', 'total', 'usage')
|
|
130 |
columns = (36, 30, 20, 24, 12, 12, 12)
|
|
131 | 131 |
|
132 | 132 |
line = ' '.join(l.rjust(w) for l, w in zip(labels, columns)) |
133 | 133 |
self.stdout.write(line + '\n') |
134 | 134 |
sep = '-' * len(line) |
135 | 135 |
self.stdout.write(sep + '\n') |
136 | 136 |
|
137 |
for holder, resources in qh_limits.iteritems(): |
|
138 |
h_counters = qh_counters[holder] |
|
137 |
for holder, holder_quotas in qh_quotas.iteritems(): |
|
139 | 138 |
h_initial = astakos_initial[holder] |
140 | 139 |
email = info[holder] |
141 |
for resource, limits in resources.iteritems(): |
|
142 |
initial = str(h_initial[resource]) |
|
143 |
capacity = str(limits) |
|
144 |
used = str(h_counters[resource]) |
|
145 |
|
|
146 |
fields = holder, email, resource, initial, capacity, used |
|
147 |
output = [] |
|
148 |
for field, width in zip(fields, columns): |
|
149 |
s = field.rjust(width) |
|
150 |
output.append(s) |
|
151 |
|
|
152 |
line = ' '.join(output) |
|
153 |
self.stdout.write(line + '\n') |
|
140 |
for source, source_quotas in holder_quotas.iteritems(): |
|
141 |
s_initial = h_initial[source] |
|
142 |
for resource, values in source_quotas.iteritems(): |
|
143 |
initial = str(s_initial[resource]) |
|
144 |
capacity = str(values['limit']) |
|
145 |
used = str(values['used']) |
|
146 |
|
|
147 |
fields = holder, email, source, resource, initial, capacity, used |
|
148 |
output = [] |
|
149 |
for field, width in zip(fields, columns): |
|
150 |
s = field.rjust(width) |
|
151 |
output.append(s) |
|
152 |
|
|
153 |
line = ' '.join(output) |
|
154 |
self.stdout.write(line + '\n') |
|
154 | 155 |
|
155 | 156 |
def print_sync(self, diff_quotas): |
156 | 157 |
size = len(diff_quotas) |
Also available in: Unified diff