def save(self, user): contacts_service = ContactsService(self.cleaned_data['email'], self.cleaned_data['password']) contacts_service.ProgrammaticLogin() #based on django-friends importer module entries = [] feed = contacts_service.GetContactsFeed() entries.extend(feed.entry) next_link = feed.GetNextLink() while next_link: feed = contacts_service.GetContactsFeed(uri=next_link.href) entries.extend(feed.entry) next_link = feed.GetNextLink() total = 0 imported = 0 for entry in entries: name = entry.title.text for e in entry.email: email = e.address total += 1 try: Contact.objects.get(user=user, email=email) except Contact.DoesNotExist: Contact(user=user, name=name, email=email).save() imported += 1 return imported, total
def fetch(self): """ Actually go out on the wire and fetch the addressbook. """ client = ContactsService() client.ClientLogin(self.username, self.password) query = ContactsQuery() query.max_results = self.max_results feed = client.GetContactsFeed(query.ToUri()) for e in feed.entry: for i in e.email: if e.title.text: self.addrbk[i.address] = e.title.text else: self.addrbk[i.address] = i.address