def testNamedVocab(self): self.setupSimpleVocabulary() svtest = self.atvm.svtest nv = NamedVocabulary(self.vname) # vocabs are the same self.assertEqual(nv.getVocabulary(self.atvm), svtest) vocab = svtest.getVocabularyDict() # dict vocab are the same self.assertEqual(nv.getVocabularyDict(self.atvm), vocab) # 5 items in place self.assertEqual(len(svtest), len(nv.getVocabulary(self.atvm)), 5) # in display list too self.assertEqual(len(nv.getDisplayList(self.atvm)), 5) # let's test `empty_first_item` option nv1 = NamedVocabulary(self.vname, empty_first_item=1) # vocab are still the same self.assertEqual(nv1.getVocabulary(self.atvm), svtest) # 5 items in place self.assertEqual(len(nv1.getVocabulary(self.atvm)), 5) # but 6 items in display list dlist = nv1.getDisplayList(self.atvm) self.assertEqual(len(dlist), 6) # and we have an empty item on top empty_item = (u'', u'--') self.failUnless(empty_item in dlist.items()) self.assertEqual(empty_item, dlist.items()[0]) # now use a `custom_empty_first_item` custom_item = (u'foo', u'Foo') nv2 = NamedVocabulary(self.vname, empty_first_item=1, custom_empty_first_item=[custom_item]) # vocab are still the same self.assertEqual(nv2.getVocabulary(self.atvm), svtest) # 5 items in place self.assertEqual(len(nv2.getVocabulary(self.atvm)), 5) # but 6 items in display list dlist = nv2.getDisplayList(self.atvm) self.assertEqual(len(dlist), 6) # and we have an empty item on top self.failUnless(custom_item in dlist.items()) self.assertEqual(custom_item, dlist.items()[0])
def get_parliamentary_types(self): """ Fetch the Legislative Types from the vocabulary and return them back as a list """ legislative_types = [] legislative_vocab = NamedVocabulary("org.bungeni.metadata.vocabularies.parliamentarytypes") legislative_terms = legislative_vocab.getDisplayList(self).items() for term in legislative_terms: legislative_types.append( (term[0], term[1]) ) return legislative_types