def test_alpha_columns(self): import string import random class Item: def __init__(self, key): self.key = key items = [ Item(letter) for letter in string.lowercase ] random.shuffle(items) columns = utils.alpha_columns(items, 'key', itemkey='thing') self.assertEquals(3, len(columns)) self.assertEquals(9, len(columns[0])) self.assertEquals(9, len(columns[1])) self.assertEquals(8, len(columns[2])) self.assertEquals('A', columns[0][0]['first_letter']) self.assertEquals('a', columns[0][0]['thing'].key) self.assertEquals('J', columns[1][0]['first_letter']) self.assertEquals('S', columns[2][0]['first_letter']) self.assertEquals('Z', columns[2][7]['first_letter'])
def test_alpha_columns(self): import string import random class Item: def __init__(self, key): self.key = key items = [Item(letter) for letter in string.lowercase] random.shuffle(items) columns = utils.alpha_columns(items, 'key', itemkey='thing') self.assertEquals(3, len(columns)) self.assertEquals(9, len(columns[0])) self.assertEquals(9, len(columns[1])) self.assertEquals(8, len(columns[2])) self.assertEquals('A', columns[0][0]['first_letter']) self.assertEquals('a', columns[0][0]['thing'].key) self.assertEquals('J', columns[1][0]['first_letter']) self.assertEquals('S', columns[2][0]['first_letter']) self.assertEquals('Z', columns[2][7]['first_letter'])
def all_topics(request, project_slug=None): o = {} if project_slug: o['project'] = get_object_or_404(Project, slug=project_slug) if 'type' in request.GET: o['type'] = request.GET['type'] o['fragment'] = '' template = 'topic-columns.include' else: o['type'] = 'PER' template = 'all-topics.html' if project_slug: query_set = set([ ta.topic for ta in TopicAssignment.objects.filter( creator__userprofile__affiliation=o['project'], topic__type=o['type']) ]) else: query_set = Topic.objects.filter(type=o['type']) [o['topics_1'], o['topics_2'], o['topics_3']] = utils.alpha_columns( query_set, 'slug', itemkey='topic') return render_to_response( template, o, context_instance=RequestContext(request))