Mercurial > libervia-pubsub
annotate idavoll/idavoll.py @ 165:0c9001bc7f58
Release 0.6.0.
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Thu, 18 Jan 2007 14:06:14 +0000 |
parents | 40d931ed15b9 |
children |
rev | line source |
---|---|
155
5191ba7c4df8
Work towards first release 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
140
diff
changeset
|
1 # Copyright (c) 2003-2006 Ralph Meijer |
5191ba7c4df8
Work towards first release 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
140
diff
changeset
|
2 # See LICENSE for details. |
5191ba7c4df8
Work towards first release 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
140
diff
changeset
|
3 |
159
6fe78048baf9
Rework error handling, depend on Twisted Words 0.4.0.
Ralph Meijer <ralphm@ik.nu>
parents:
155
diff
changeset
|
4 from twisted.words.protocols.jabber import component, error |
1 | 5 from twisted.application import service |
67
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
6 from twisted.internet import defer |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
7 |
73 | 8 import disco |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
9 import pubsub |
1 | 10 |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
11 try: |
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
12 from twisted.words.protocols.jabber.ijabber import IService |
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
13 except ImportError: |
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
14 from twisted.words.protocols.jabber.component import IService |
1 | 15 |
165 | 16 __version__ = '0.6.0' |
140
d79f0816f6c3
Revert changes to error handling into disco calls.
Ralph Meijer <ralphm@ik.nu>
parents:
130
diff
changeset
|
17 |
8 | 18 NS_VERSION = 'jabber:iq:version' |
19 | |
1 | 20 IQ_GET = '/iq[@type="get"]' |
21 IQ_SET = '/iq[@type="set"]' | |
8 | 22 VERSION = IQ_GET + '/query[@xmlns="' + NS_VERSION + '"]' |
73 | 23 DISCO_INFO = IQ_GET + '/query[@xmlns="' + disco.NS_INFO + '"]' |
24 DISCO_ITEMS = IQ_GET + '/query[@xmlns="' + disco.NS_ITEMS + '"]' | |
1 | 25 |
26 class IdavollService(component.Service): | |
27 | |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
28 def componentConnected(self, xmlstream): |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
29 self.xmlstream = xmlstream |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
30 xmlstream.addObserver(VERSION, self.onVersion, 1) |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
31 xmlstream.addObserver(DISCO_INFO, self.onDiscoInfo, 1) |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
32 xmlstream.addObserver(DISCO_ITEMS, self.onDiscoItems, 1) |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
33 xmlstream.addObserver(IQ_GET, self.iqFallback, -1) |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
34 xmlstream.addObserver(IQ_SET, self.iqFallback, -1) |
8 | 35 |
73 | 36 def get_disco_info(self, node): |
37 info = [] | |
57
445a61f872b6
Use NodeCreationService for pgsql backend, too.
Ralph Meijer <ralphm@ik.nu>
parents:
52
diff
changeset
|
38 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
39 if not node: |
73 | 40 info.append(disco.Feature(disco.NS_ITEMS)) |
41 info.append(disco.Feature(NS_VERSION)) | |
57
445a61f872b6
Use NodeCreationService for pgsql backend, too.
Ralph Meijer <ralphm@ik.nu>
parents:
52
diff
changeset
|
42 |
73 | 43 return defer.succeed(info) |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
44 |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
45 def onVersion(self, iq): |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
46 iq.swapAttributeValues("to", "from") |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
47 iq["type"] = "result" |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
48 name = iq.addElement("name", None, 'Idavoll') |
140
d79f0816f6c3
Revert changes to error handling into disco calls.
Ralph Meijer <ralphm@ik.nu>
parents:
130
diff
changeset
|
49 version = iq.addElement("version", None, __version__) |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
50 self.send(iq) |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
51 iq.handled = True |
1 | 52 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
53 def onDiscoInfo(self, iq): |
73 | 54 dl = [] |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
55 node = iq.query.getAttribute("node") |
8 | 56 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
57 for c in self.parent: |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
58 if IService.providedBy(c): |
73 | 59 if hasattr(c, "get_disco_info"): |
60 dl.append(c.get_disco_info(node)) | |
92
878a5b7697f2
Consume errors in DeferredLists.
Ralph Meijer <ralphm@ik.nu>
parents:
91
diff
changeset
|
61 d = defer.DeferredList(dl, fireOnOneErrback=1, consumeErrors=1) |
140
d79f0816f6c3
Revert changes to error handling into disco calls.
Ralph Meijer <ralphm@ik.nu>
parents:
130
diff
changeset
|
62 d.addCallback(self._disco_info_results, iq, node) |
102
f4d725a94202
Fix bug in how errors are handled in disco info request.
Ralph Meijer <ralphm@ik.nu>
parents:
101
diff
changeset
|
63 d.addErrback(self._error, iq) |
67
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
64 d.addCallback(self.send) |
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
65 |
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
66 iq.handled = True |
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
67 |
73 | 68 def _disco_info_results(self, results, iq, node): |
69 info = [] | |
70 for i in results: | |
71 info.extend(i[1]) | |
67
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
72 |
73 | 73 if node and not info: |
159
6fe78048baf9
Rework error handling, depend on Twisted Words 0.4.0.
Ralph Meijer <ralphm@ik.nu>
parents:
155
diff
changeset
|
74 return error.StanzaError('item-not-found').toResponse(iq) |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
75 else: |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
76 iq.swapAttributeValues("to", "from") |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
77 iq["type"] = "result" |
101
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
78 for item in info: |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
79 #domish.Element.addChild should probably do this for all |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
80 # subclasses of Element |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
81 item.parent = iq.query |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
82 |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
83 iq.query.addChild(item) |
67
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
84 |
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
85 return iq |
cdf17c4d3bf9
Made returning disco info use deferreds.
Ralph Meijer <ralphm@ik.nu>
parents:
63
diff
changeset
|
86 |
101
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
87 def _error(self, result, iq): |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
88 print "Got error on index %d:" % result.value[1] |
b75fcc554358
Added support for disco info meta data.
Ralph Meijer <ralphm@ik.nu>
parents:
97
diff
changeset
|
89 result.value[0].printBriefTraceback() |
159
6fe78048baf9
Rework error handling, depend on Twisted Words 0.4.0.
Ralph Meijer <ralphm@ik.nu>
parents:
155
diff
changeset
|
90 return error.StanzaError('internal-server-error').toResponse(iq) |
8 | 91 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
92 def onDiscoItems(self, iq): |
73 | 93 dl = [] |
94 node = iq.query.getAttribute("node") | |
95 | |
96 for c in self.parent: | |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
97 if IService.providedBy(c): |
73 | 98 if hasattr(c, "get_disco_items"): |
99 dl.append(c.get_disco_items(node)) | |
92
878a5b7697f2
Consume errors in DeferredLists.
Ralph Meijer <ralphm@ik.nu>
parents:
91
diff
changeset
|
100 d = defer.DeferredList(dl, fireOnOneErrback=1, consumeErrors=1) |
140
d79f0816f6c3
Revert changes to error handling into disco calls.
Ralph Meijer <ralphm@ik.nu>
parents:
130
diff
changeset
|
101 d.addCallback(self._disco_items_result, iq, node) |
102
f4d725a94202
Fix bug in how errors are handled in disco info request.
Ralph Meijer <ralphm@ik.nu>
parents:
101
diff
changeset
|
102 d.addErrback(self._error, iq) |
73 | 103 d.addCallback(self.send) |
104 | |
105 iq.handled = True | |
106 | |
107 def _disco_items_result(self, results, iq, node): | |
108 items = [] | |
109 | |
110 for i in results: | |
111 items.extend(i[1]) | |
112 | |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
113 iq.swapAttributeValues("to", "from") |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
114 iq["type"] = "result" |
73 | 115 iq.query.children = items |
116 | |
117 return iq | |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
118 |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
119 def iqFallback(self, iq): |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
120 if iq.handled == True: |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
121 return |
1 | 122 |
159
6fe78048baf9
Rework error handling, depend on Twisted Words 0.4.0.
Ralph Meijer <ralphm@ik.nu>
parents:
155
diff
changeset
|
123 self.send(error.StanzaError('service-unavailable').toResponse(iq)) |
1 | 124 |
76
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
125 class LogService(component.Service): |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
126 |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
127 def transportConnected(self, xmlstream): |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
128 xmlstream.rawDataInFn = self.rawDataIn |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
129 xmlstream.rawDataOutFn = self.rawDataOut |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
130 |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
131 def rawDataIn(self, buf): |
78
a7196ca7cefd
Fixed bug in LogService with non-ascii chars.
Ralph Meijer <ralphm@ik.nu>
parents:
76
diff
changeset
|
132 print "RECV: %s" % unicode(buf, 'utf-8').encode('ascii', 'replace') |
76
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
133 |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
134 def rawDataOut(self, buf): |
78
a7196ca7cefd
Fixed bug in LogService with non-ascii chars.
Ralph Meijer <ralphm@ik.nu>
parents:
76
diff
changeset
|
135 print "SEND: %s" % unicode(buf, 'utf-8').encode('ascii', 'replace') |
76
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
136 |
1 | 137 def makeService(config): |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
138 serviceCollection = service.MultiService() |
1 | 139 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
140 # set up Jabber Component |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
141 sm = component.buildServiceManager(config["jid"], config["secret"], |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
142 ("tcp:%s:%s" % (config["rhost"], config["rport"]))) |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
143 |
76
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
144 if config["verbose"]: |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
145 LogService().setServiceParent(sm) |
66fac7cd9edc
Added -v (--verbose) flag to print out all traffic.
Ralph Meijer <ralphm@ik.nu>
parents:
75
diff
changeset
|
146 |
42
7d088c61e131
Make choice of backend an option to mktap. This includes the database
Ralph Meijer <ralphm@ik.nu>
parents:
35
diff
changeset
|
147 if config['backend'] == 'pgsql': |
109 | 148 import pgsql_storage |
149 st = pgsql_storage.Storage(user=config['dbuser'], | |
163
1701c0e2c707
Add --dbpass option for passing a password to the PostgreSQL backend.
Ralph Meijer <ralphm@ik.nu>
parents:
159
diff
changeset
|
150 database=config['dbname'], |
1701c0e2c707
Add --dbpass option for passing a password to the PostgreSQL backend.
Ralph Meijer <ralphm@ik.nu>
parents:
159
diff
changeset
|
151 password=config['dbpass']) |
42
7d088c61e131
Make choice of backend an option to mktap. This includes the database
Ralph Meijer <ralphm@ik.nu>
parents:
35
diff
changeset
|
152 elif config['backend'] == 'memory': |
109 | 153 import memory_storage |
154 st = memory_storage.Storage() | |
42
7d088c61e131
Make choice of backend an option to mktap. This includes the database
Ralph Meijer <ralphm@ik.nu>
parents:
35
diff
changeset
|
155 |
109 | 156 import generic_backend as b |
43
9685b7e291ef
Moved common stuff out of pgsql_backend.py to backend.py.
Ralph Meijer <ralphm@ik.nu>
parents:
42
diff
changeset
|
157 bs = b.BackendService(st) |
1 | 158 |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
159 c = IService(bs) |
97
cf918d581da5
Enable admin to hide all nodes when the service is queried using disco items.
Ralph Meijer <ralphm@ik.nu>
parents:
92
diff
changeset
|
160 c.setServiceParent(sm) |
cf918d581da5
Enable admin to hide all nodes when the service is queried using disco items.
Ralph Meijer <ralphm@ik.nu>
parents:
92
diff
changeset
|
161 c.hide_nodes = config["hide-nodes"] |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
162 |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
163 bsc = b.PublishService() |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
164 bsc.setServiceParent(bs) |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
165 IService(bsc).setServiceParent(sm) |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
166 |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
167 bsc = b.NotificationService() |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
168 bsc.setServiceParent(bs) |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
169 IService(bsc).setServiceParent(sm) |
1 | 170 |
52
0947b46c0968
Use ISubscriptionService support of PostgreSQL backend.
Ralph Meijer <ralphm@ik.nu>
parents:
43
diff
changeset
|
171 bsc = b.SubscriptionService() |
0947b46c0968
Use ISubscriptionService support of PostgreSQL backend.
Ralph Meijer <ralphm@ik.nu>
parents:
43
diff
changeset
|
172 bsc.setServiceParent(bs) |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
173 IService(bsc).setServiceParent(sm) |
52
0947b46c0968
Use ISubscriptionService support of PostgreSQL backend.
Ralph Meijer <ralphm@ik.nu>
parents:
43
diff
changeset
|
174 |
57
445a61f872b6
Use NodeCreationService for pgsql backend, too.
Ralph Meijer <ralphm@ik.nu>
parents:
52
diff
changeset
|
175 bsc = b.NodeCreationService() |
445a61f872b6
Use NodeCreationService for pgsql backend, too.
Ralph Meijer <ralphm@ik.nu>
parents:
52
diff
changeset
|
176 bsc.setServiceParent(bs) |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
177 IService(bsc).setServiceParent(sm) |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
178 |
75
1f7b8b6b8ce9
Enable AffiliationsService for memory backend, too.
Ralph Meijer <ralphm@ik.nu>
parents:
73
diff
changeset
|
179 bsc = b.AffiliationsService() |
1f7b8b6b8ce9
Enable AffiliationsService for memory backend, too.
Ralph Meijer <ralphm@ik.nu>
parents:
73
diff
changeset
|
180 bsc.setServiceParent(bs) |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
181 IService(bsc).setServiceParent(sm) |
63
60e95c60252d
Setup AffiliationsService and matching protocol adapter for the pgsql
Ralph Meijer <ralphm@ik.nu>
parents:
57
diff
changeset
|
182 |
109 | 183 bsc = b.ItemRetrievalService() |
184 bsc.setServiceParent(bs) | |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
185 IService(bsc).setServiceParent(sm) |
82
758cb81b97ce
Enable ItemRetrievalService for pgsql backend.
Ralph Meijer <ralphm@ik.nu>
parents:
78
diff
changeset
|
186 |
109 | 187 bsc = b.RetractionService() |
188 bsc.setServiceParent(bs) | |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
189 IService(bsc).setServiceParent(sm) |
85
ec557449d1aa
Implement node retraction, with storage support for pgsql.
Ralph Meijer <ralphm@ik.nu>
parents:
82
diff
changeset
|
190 |
109 | 191 bsc = b.NodeDeletionService() |
192 bsc.setServiceParent(bs) | |
164
40d931ed15b9
Make imports work with Twisted 0.5.0.
Ralph Meijer <ralphm@ik.nu>
parents:
163
diff
changeset
|
193 IService(bsc).setServiceParent(sm) |
91
47ee5369c410
Use NodeDeletionService for the pgsql backend.
Ralph Meijer <ralphm@ik.nu>
parents:
89
diff
changeset
|
194 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
195 s = IdavollService() |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
196 s.setServiceParent(sm) |
1 | 197 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
198 sm.setServiceParent(serviceCollection) |
1 | 199 |
32
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
200 # other stuff |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
201 |
ddc08757ec1d
Fire up several component.IServices that match the backend Services.
Ralph Meijer <ralphm@ik.nu>
parents:
26
diff
changeset
|
202 return sm |