fixed list error (add > append)
[hermes] / package / test / test.py
1 #!/usr/bin/python2.5
2
3 import evolution
4 from org.maemo.hermes.engine.contact import Contact
5 from org.maemo.hermes.engine.friend import Friend
6 from org.maemo.hermes.gui.console import ConsoleUICallback
7 import org.maemo.hermes.engine.facebook.provider
8 import org.maemo.hermes.engine.twitter.provider
9 import org.maemo.hermes.engine.gravatar.provider
10 import org.maemo.hermes.engine.linkedin.provider
11
12
13 providers = [
14      org.maemo.hermes.engine.facebook.provider.Provider(),
15      org.maemo.hermes.engine.twitter.provider.Provider(),
16      org.maemo.hermes.engine.gravatar.provider.Provider(),
17      org.maemo.hermes.engine.linkedin.provider.Provider(),
18 ]
19              
20 ui = ConsoleUICallback()
21
22 # assemble services, least important (prioritized) first
23 print "+++ Initialising Services"
24 services = []
25 for provider in providers:
26     print "Using %s" % (provider.get_name())
27     services.append(provider.service(ui))
28
29 contacts = []
30 updated_contacts = set()
31 unmatched_contacts = set()
32 overwrite = False
33
34 print "\n+++ Pre processing"
35 addresses = evolution.ebook.open_addressbook('default')
36 for econtact in addresses.get_all_contacts():
37     contact = Contact(addresses, econtact)
38     contacts.append(contact)
39     for service in services:
40         print "    Pre processing %s with %s" % (contact, service.get_name())
41         service.pre_process_contact(contact)
42
43 print "\n+++ Processing"
44 for contact in contacts:
45     friend = Friend(contact.get_name())
46     for service in services:
47         print "    Processing %s with %s" % (friend, service.get_name())
48         service.process_contact(contact, friend)
49     if friend.is_empty():
50         print "No service matched %s\n" % friend
51         unmatched_contacts.add(contact)
52     else:
53         print "    Updating contact data for %s\n" % friend
54         friend.update_contact(contact, overwrite)
55         updated_contacts.add(contact)
56
57 print "\n+++ Finalising"
58 for service in services:
59     print "    Finalising service %s" % service.get_name()
60     service.finalise(updated_contacts)