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