3 # (name, CM, protocol, icon)
5 ('AIM', 'haze', 'aim', 'aim'),
6 ('GaduGadu', 'haze', 'gadugadu', 'gadugadu'),
7 ('Groupwise', 'haze', 'groupwise', 'groupwise'),
8 ('ICQ', 'haze', 'icq', 'icq'),
9 ('IRC', 'idle', 'irc', 'irc'),
10 ('Jabber', 'gabble', 'jabber', 'jabber'),
11 ('Mxit', 'haze', 'mxit', 'mxit'),
12 ('Myspace', 'haze', 'myspace', 'myspace'),
13 ('SIP', 'sofiasip', 'sip', 'sip'),
14 ('Salut', 'salut', 'local-xmpp', 'people-nearby'),
15 ('Sametime', 'haze', 'sametime', 'sametime'),
16 ('Yahoo Japan', 'haze', 'yahoojp', 'yahoo'),
17 ('Yahoo!', 'haze', 'yahoo', 'yahoo'),
18 ('Zephyr', 'haze', 'zephyr', 'zephyr'),
22 def __init__(self
, name
, cm
, protocol
, icon
):
25 self
.protocol
= protocol
28 ##### providers/ #####
30 def generate_provider_file(p
):
31 f
= open('providers/%s.provider' % p
.protocol
, 'w')
34 '''<?xml version="1.0" encoding="UTF-8" ?>
35 <!-- Generated using empathy/ubuntu-online-accounts/cc-plugins/generate-plugins.py
36 Do NOT edit manually -->
40 <plugin>empathy-accounts-plugin</plugin>
42 ''' % (p
.protocol
, p
.name
, p
.icon
))
44 def generate_providers(plugins
):
45 '''generate providers/*.provider files and providers/Makefile.am'''
49 providers
.append(' %s.provider' % p
.protocol
)
51 generate_provider_file(p
)
53 # providers/Makefile.am
54 f
= open('providers/Makefile.am', 'w')
56 '''# Generated using empathy/ubuntu-online-accounts/cc-plugins/generate-plugins.py
57 # Do NOT edit manually
58 providersdir = $(ACCOUNTS_PROVIDER_FILES_DIR)
64 EXTRA_DIST = $(providers_DATA)
65 ''' % ('\\\n'.join(providers
)))
69 def generate_service_file(p
):
70 f
= open('services/%s-im.service' % p
.protocol
, 'w')
73 '''<?xml version="1.0" encoding="UTF-8" ?>
74 <!-- Generated using empathy/ubuntu-online-accounts/cc-plugins/generate-plugins.py
75 Do NOT edit manually -->
80 <provider>%s</provider>
82 <!-- default settings (account settings have precedence over these) -->
84 <group name="telepathy">
85 <setting name="manager">%s</setting>
86 <setting name="protocol">%s</setting>
89 <setting name="method">password</setting>
90 <setting name="mechanism">password</setting>
95 ''' % (p
.protocol
, p
.name
, p
.icon
, p
.protocol
, p
.cm
, p
.protocol
))
97 def generate_services(plugins
):
98 '''generate services/*-im.service files and services/Makefile.am'''
102 services
.append(' %s-im.service' % p
.protocol
)
104 generate_service_file(p
)
106 # providers/Makefile.am
107 f
= open('services/Makefile.am', 'w')
109 '''# Generated using empathy/ubuntu-online-accounts/cc-plugins/generate-plugins.py
110 # Do NOT edit manually
111 servicesdir = $(ACCOUNTS_SERVICE_FILES_DIR)
117 EXTRA_DIST = $(services_DATA)
118 ''' % ('\\\n'.join(services
)))
123 for name
, cm
, protocol
, icon
in ALL
:
124 plugins
.append(Plugin(name
, cm
, protocol
, icon
))
126 generate_providers(plugins
)
127 generate_services(plugins
)
129 if __name__
== '__main__':