1 from friend import Friend
4 """The notional `Service' for a provider. This is responsible for communicating
5 with the backend service and enhancing contacts.
7 Copyright (c) Andrew Flegg <andrew@bleb.org> 2010.
8 Released under the Artistic Licence."""
11 """Should make initial calls to the service and retrieve a list of friends."""
14 # -----------------------------------------------------------------------
16 """Should return the same name as the provider class - debugging only - REMOVE/FIXME"""
21 # -----------------------------------------------------------------------
22 def pre_process_contact(self, contact):
23 """If the contact have an URL (or similar) that proves an existing matching
24 to a friend on this service, then this should be remembered to avoid
25 name collision/mapping the same friend to other contacts with the same
31 def process_friends(self):
32 """Called once to signal that it's time to get all friends' data."""
37 # -----------------------------------------------------------------------
38 def process_contact(self, contact):
39 """Called for each contact in the address book. If the contact can be
40 matched to a Friend, than return the Friend object or None."""
45 # -----------------------------------------------------------------------
46 def get_unmatched_friends(self):
47 """Return a list of friends not matched to a contact, or 'None' if manual mapping
53 # -----------------------------------------------------------------------
54 def finalise(self, updated, overwrite = False):
55 """Once all contacts have been processed, allows for any tidy-up/additional
56 enrichment. If any contacts are updated at this stage, 'updated' should
62 # -----------------------------------------------------------------------
63 def _create_friend(self, name):
64 """Used to create a Friend object for a contact"""