def test_member_names_includes_alt_names(self): m = Member(name='test member') self.assertEqual(m.names, ['test member']) m.save() MemberAltname(member=m, name='test2').save() self.assertEqual(m.names, ['test member', 'test2'])
def testNames(self): m=Member(name='test member') self.assertEqual(m.names, ['test member']) m.save() MemberAltname(member=m,name='test2').save() self.assertEqual(m.names, ['test member','test2'])
def update_members_from_file(self): logger.debug('update_members_from_file') f = gzip.open(os.path.join(DATA_ROOT, 'members.tsv.gz')) content = f.read().split('\n') for line in content: if len(line) <= 1: continue (member_id, name, img_url, phone, fax, website, email, family_status, number_of_children, date_of_birth, year_of_birth, place_of_birth, date_of_death, year_of_aliyah, k18, k19, _) = line.split('\t') if email != '': email = email.split(':')[1] try: if date_of_birth.find(',') >= 0: date_of_birth = date_of_birth.split(',')[1].strip(' ') date_of_birth = datetime.datetime.strptime(date_of_birth, "%d/%m/%Y") except: date_of_birth = None try: if date_of_birth.find(',') >= 0: date_of_death = date_of_birth.split(',')[1].strip(' ') date_of_death = datetime.datetime.strptime(date_of_death, "%d/%m/%Y") except: date_of_death = None try: year_of_birth = int(year_of_birth) except: year_of_birth = None try: year_of_aliyah = int(year_of_aliyah) except: year_of_aliyah = None try: number_of_children = int(number_of_children) except: number_of_children = None try: m = Member.objects.get(id=member_id) m.phone = phone m.fax = fax m.email = email m.family_status = family_status m.number_of_children = number_of_children m.date_of_death = date_of_death m.save() logger.debug('updated member %d' % m.id) except Member.DoesNotExist: # member_id not found. create new m = Member(id=member_id, name=name, img_url=img_url, phone=phone, fax=fax, website=None, email=email, family_status=family_status, number_of_children=number_of_children, date_of_birth=date_of_birth, place_of_birth=place_of_birth, date_of_death=date_of_death, year_of_aliyah=year_of_aliyah) m.save() m = Member.objects.get(pk=member_id) # make sure we are are # working on the db object. e.g m.id is a number. logger.debug('created member %d' % m.id) if len(website) > 0: l = Link(title='אתר האינטרנט של %s' % name, url=website, content_type=ContentType.objects.get_for_model(m), object_pk=str(m.id)) l.save() if k19: # KNESSET 19 specific parties = Party.objects.filter(knesset_id=19).values_list('name', 'id') k19 = k19.decode(ENCODING) for k, v in parties: if k in k19: m.current_party_id = int(v) logger.debug('member %s, k19 %s, party %s' % (m.name, k19, k)) m.save() if m.current_party is None: logger.debug('member %s, k19 %s not found' % (m.name, k19))