def by_publish_date(self, pattern):
return self.filter(date_published__icontains=pattern)
+ def by_ethnic_group(self, group):
+ return self.filter(items__ethnie_grsocial=group).distinct()
+
class MediaCollectionManager(CoreManager):
"Manage collection queries"
def by_publish_date(self, *args, **kwargs):
return self.get_query_set().by_publish_date(*args, **kwargs)
+ def by_ethnic_group(self, *args, **kwargs):
+ return self.get_query_set().by_ethnic_group(*args, **kwargs)
+
def stat_continents(self, order_by='num'):
"Return the number of collections by continents and countries as a tree"
from django.db import connection
| Q(annee_enreg__icontains=pattern))
def by_title(self, pattern):
+ # to (sort of) sync with models.media.MediaItem.get_title()
return self.filter(Q(_title__icontains=pattern)
| Q(collection__title__icontains=pattern))
+
+ def by_publish_date(self, pattern):
+ return self.filter(collection__date_published__icontains=pattern)
class MediaItemManager(CoreManager):
"Manage media items queries"
def by_title(self, *args, **kwargs):
return self.get_query_set().by_title(*args, **kwargs)
+ def by_publish_date(self, *args, **kwargs):
+ return self.get_query_set().by_publish_date(*args, **kwargs)
+
def list_ethnic_groups(self):
"Return a list of all ethnic groups"
import re
import os
+import sys
from django.template import Context, loader
from django import template
collections.by_continent(value),
items.filter(continent = value)),
'ethnic_group': lambda value: (
- collections.none(),
+ collections.by_ethnic_group(value),
items.filter(ethnie_grsocial = value)),
'creator': lambda value: (
collections.filter(creator__icontains=value),
'rec_date': lambda value: (
collections.by_recording_date(value),
items.by_recording_date(value)),
- 'pud_date': lambda value: (
+ 'pub_date': lambda value: (
collections.by_publish_date(value),
- items.none())
+ items.by_publish_date(value))
}
-
+
for key, value in input.items():
if key == 'continent' and input.get('country'):
continue