result = {}
else:
result = initial
-
+
for tag in tags:
result.setdefault(tag.category, []).append(tag)
return result
class AttachmentHttpResponse(HttpResponse):
"""Response serving a file to be downloaded.
"""
- def __init__ (self, file_path, file_name, mimetype):
+ def __init__(self, file_path, file_name, mimetype):
super(AttachmentHttpResponse, self).__init__(mimetype=mimetype)
self['Content-Disposition'] = 'attachment; filename=%s' % file_name
self.file_path = file_path
def __init__(self, *args, **kwargs):
self.querysets = args
self._count = None
-
+
def count(self):
if not self._count:
self._count = sum(len(qs) for qs in self.querysets)
return self._count
-
+
def __len__(self):
return self.count()
-
+
def __getitem__(self, item):
try:
indices = (offset, stop, step) = item.indices(self.count())
self.order_by = kwargs.pop('order_by', None)
self.sortfn = kwargs.pop('sortfn', None)
if self.order_by is not None:
- self.sortfn = lambda a, b: cmp(getattr(a, self.order_by),
+ self.sortfn = lambda a, b: cmp(getattr(a, self.order_by),
getattr(b, self.order_by))
super(SortedMultiQuerySet, self).__init__(*args, **kwargs)
skipped += 1
continue # continue next item
items.append(candidate)
-
+
return items