Update Polish translation
[empathy-mirror.git] / ubuntu-online-accounts / cc-plugins / generate-plugins.py
blob2845d3632c7973a80abe1f238d3ee605612469e5
1 #!/usr/bin/env python
3 # (name, CM, protocol, icon)
4 ALL = [
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'),
21 class Plugin:
22 def __init__(self, name, cm, protocol, icon):
23 self.name = name
24 self.cm = cm
25 self.protocol = protocol
26 self.icon = icon
28 ##### providers/ #####
30 def generate_provider_file(p):
31 f = open('providers/%s.provider' % p.protocol, 'w')
33 f.write(
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 -->
37 <provider id="%s">
38 <name>%s</name>
39 <icon>%s</icon>
40 <plugin>empathy-accounts-plugin</plugin>
41 </provider>
42 ''' % (p.protocol, p.name, p.icon))
44 def generate_providers(plugins):
45 '''generate providers/*.provider files and providers/Makefile.am'''
47 providers = []
48 for p in plugins:
49 providers.append(' %s.provider' % p.protocol)
51 generate_provider_file(p)
53 # providers/Makefile.am
54 f = open('providers/Makefile.am', 'w')
55 f.write(
56 '''# Generated using empathy/ubuntu-online-accounts/cc-plugins/generate-plugins.py
57 # Do NOT edit manually
58 providersdir = $(ACCOUNTS_PROVIDER_FILES_DIR)
60 providers_DATA = \\
61 %s \\
62 $(NULL)
64 EXTRA_DIST = $(providers_DATA)
65 ''' % ('\\\n'.join(providers)))
67 ##### services/ #####
69 def generate_service_file(p):
70 f = open('services/%s-im.service' % p.protocol, 'w')
72 f.write(
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 -->
76 <service id="%s-im">
77 <type>IM</type>
78 <name>%s</name>
79 <icon>%s</icon>
80 <provider>%s</provider>
82 <!-- default settings (account settings have precedence over these) -->
83 <template>
84 <group name="telepathy">
85 <setting name="manager">%s</setting>
86 <setting name="protocol">%s</setting>
87 </group>
88 <group name="auth">
89 <setting name="method">password</setting>
90 <setting name="mechanism">password</setting>
91 </group>
92 </template>
94 </service>
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'''
100 services = []
101 for p in plugins:
102 services.append(' %s-im.service' % p.protocol)
104 generate_service_file(p)
106 # providers/Makefile.am
107 f = open('services/Makefile.am', 'w')
108 f.write(
109 '''# Generated using empathy/ubuntu-online-accounts/cc-plugins/generate-plugins.py
110 # Do NOT edit manually
111 servicesdir = $(ACCOUNTS_SERVICE_FILES_DIR)
113 services_DATA = \\
114 %s \\
115 $(NULL)
117 EXTRA_DIST = $(services_DATA)
118 ''' % ('\\\n'.join(services)))
120 def generate_all():
121 plugins = []
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__':
130 generate_all()