Mercurial > libervia-pubsub
annotate doc/examples/sat_pubsub.tac @ 329:98409ef42c94
PostGreSQL: schema update:
access models changes:
- renamed roster to publisher-roster, as roster is in fact the pubsub service's roster, so it was badly used
- added whitelist, publish-only
- new non standard (yet?) self-publisher. It is planed to allow publisher to publish, update and delete only its own items
- roster => publisher-roster renaming, and whitelist has been added to item access model too. publish-only and self-publisher don't make sense for items
added "member" to affiliations (will be used for whitelist)
news tables item_jids_authorized and item_languages.
updated to version 2
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 26 Mar 2017 20:33:18 +0200 |
parents | d55620ceafed |
children |
rev | line source |
---|---|
239
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
1 #!/usr/bin/python |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
2 #-*- coding: utf-8 -*- |
194
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
3 |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
4 """ |
239
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
5 Copyright (c) 2003-2011 Ralph Meijer |
255 | 6 Copyright (c) 2012, 2013 Jérôme Poisson |
239
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
7 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
8 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
9 This program is free software: you can redistribute it and/or modify |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
10 it under the terms of the GNU Affero General Public License as published by |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
11 the Free Software Foundation, either version 3 of the License, or |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
12 (at your option) any later version. |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
13 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
14 This program is distributed in the hope that it will be useful, |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
15 but WITHOUT ANY WARRANTY; without even the implied warranty of |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
17 GNU Affero General Public License for more details. |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
18 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
19 You should have received a copy of the GNU Affero General Public License |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
20 along with this program. If not, see <http://www.gnu.org/licenses/>. |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
21 -- |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
22 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
23 This program is based on Idavoll (http://idavoll.ik.nu/), |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
24 originaly written by Ralph Meijer (http://ralphm.net/blog/) |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
25 It is sublicensed under AGPL v3 (or any later version) as allowed by the original |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
26 license. |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
27 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
28 -- |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
29 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
30 Here is a copy of the original license: |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
31 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
32 Copyright (c) 2003-2011 Ralph Meijer |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
33 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
34 Permission is hereby granted, free of charge, to any person obtaining |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
35 a copy of this software and associated documentation files (the |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
36 "Software"), to deal in the Software without restriction, including |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
37 without limitation the rights to use, copy, modify, merge, publish, |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
38 distribute, sublicense, and/or sell copies of the Software, and to |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
39 permit persons to whom the Software is furnished to do so, subject to |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
40 the following conditions: |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
41 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
42 The above copyright notice and this permission notice shall be |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
43 included in all copies or substantial portions of the Software. |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
44 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
45 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
46 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
47 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
48 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
49 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
50 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
51 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
52 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
53 """ |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
54 |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
55 """ |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
56 Example TAC for Salut à Toi Pubsub. |
194
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
57 """ |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
58 |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
59 from twisted.application import service |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
60 from twisted.words.protocols.jabber.jid import JID |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
61 |
234
51af2ed8bd50
replaced idavoll imports by sat_pubsub imports
Goffi <goffi@goffi.org>
parents:
194
diff
changeset
|
62 from sat_pubsub import tap |
194
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
63 |
239
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
64 application = service.Application(u"SàT Pubsub") |
194
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
65 |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
66 config = { |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
67 'jid': JID('pubsub.example.org'), |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
68 'secret': 'secret', |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
69 'rhost': '127.0.0.1', |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
70 'rport': 5347, |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
71 'backend': 'memory', |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
72 'verbose': True, |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
73 'hide-nodes': False, |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
74 } |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
75 |
239
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
76 satPubsubService = tap.makeService(config) |
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
77 satPubsubService.setServiceParent(application) |
194
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
78 |
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
79 # Set the maximum delay until trying to reconnect. |
239
2b50e4664d74
fixed setup.py and twistd plugin file
Goffi <goffi@goffi.org>
parents:
234
diff
changeset
|
80 componentService = satPubsubService.getServiceNamed('component') |
194
5974e718f395
Check in missing file, also part of Idavoll 0.7.3.
Ralph Meijer <ralphm@ik.nu>
parents:
diff
changeset
|
81 componentService.factory.maxdelay = 300 |