def domain(request, domain_name): if not request.user.is_staff: return HttpResponseForbidden() domain_tag = get_object_or_404(Tag, name='domain:%s' % domain_name) users = cache.get('%s-users' % domain_tag) total_files = cache.get('%s-files' % domain_tag) total_bytecount = cache.get('%s-bytecount' % domain_tag) if not users or not total_files or not total_bytecount: users, total_files, total_bytecount = tasks.get_domain_content(domain_tag) return respond_to(request, {'text/html': 'apps/content/domain.html'}, {'domain': domain_name, 'total_bytecount': total_bytecount, 'total_files': total_files, 'users': users})
def domain_report(request, domain_name): requester = report_auth(request) if requester and (domain_name in requester['domains'] or '*' in requester['domains']): data = [] domain_tag = get_object_or_404(Tag, name='domain:%s' % domain_name) users, total_files, total_bytecount = tasks.get_domain_content(domain_tag) for item in users: value = float(item['bytecount']) max_value = float(total_bytecount) percent = (value / max_value) * 100 data.append({ 'username': item['username'], 'number_of_files': item['number_of_files'], 'storage_used (B)': item['bytecount'], 'percent': '{0:0.2g}%'.format(int(round(percent))) }) return dicts_to_csv_response(data, header=['username', 'number_of_files', 'storage_used (B)', 'percent']) return HttpResponseForbidden()