Changeset 82:f965c6c5da15 for wokkel/pubsub.py
- Timestamp:
- Jan 5, 2010, 2:55:40 PM (13 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/pubsub.py
r81 r82 235 235 'subscriptions': [], 236 236 'affiliations': [], 237 'create': ['nodeOrNone' ],237 'create': ['nodeOrNone', 'configureOrNone'], 238 238 'default': ['default'], 239 239 'configureGet': ['nodeOrEmpty'], … … 365 365 366 366 367 def _parse_configureOrNone(self, verbElement): 368 """ 369 Parse optional node configuration form in create request. 370 """ 371 for element in verbElement.parent.elements(): 372 if element.uri == NS_PUBSUB and element.name == 'configure': 373 form = data_form.findForm(element, NS_PUBSUB_NODE_CONFIG) 374 if form: 375 if form.formType == 'submit': 376 self.options = form 377 else: 378 raise BadRequest(text=u"Unexpected form type '%s'" % 379 form.formType) 380 else: 381 form = data_form.Form('submit', 382 formNamespace=NS_PUBSUB_NODE_CONFIG) 383 self.options = form 384 385 386 def _render_configureOrNone(self, verbElement): 387 """ 388 Render optional node configuration form in create request. 389 """ 390 if self.options is not None: 391 configure = verbElement.parent.addElement('configure') 392 configure.addChild(self.options.toElement()) 393 367 394 368 395 def _parse_itemIdentifiers(self, verbElement): … … 608 635 609 636 610 def createNode(self, service, nodeIdentifier=None, sender=None): 637 def createNode(self, service, nodeIdentifier=None, options=None, 638 sender=None): 611 639 """ 612 640 Create a publish subscribe node. … … 616 644 @param nodeIdentifier: Optional suggestion for the id of the node. 617 645 @type nodeIdentifier: C{unicode} 646 @param options: Optional node configuration options. 647 @type options: C{dict} 618 648 """ 619 649 request = PubSubRequest('create') … … 621 651 request.nodeIdentifier = nodeIdentifier 622 652 request.sender = sender 653 654 if options: 655 form = data_form.Form(formType='submit', 656 formNamespace=NS_PUBSUB_NODE_CONFIG) 657 form.makeFields(options) 658 request.options = form 623 659 624 660 def cb(iq): … … 1002 1038 1003 1039 1040 def _preProcess_create(self, resource, request): 1041 if request.options: 1042 self._checkConfiguration(resource, request.options) 1043 return request 1044 1045 1004 1046 def _preProcess_default(self, resource, request): 1005 1047 if request.nodeType not in ('leaf', 'collection'):
Note: See TracChangeset
for help on using the changeset viewer.