Mercurial > libervia-backend
changeset 1423:882e5fabf68c
plugin groupblog, tmp (mam, rsm): some style improvments/fixes:
- renamed variables nammed after reserved word/module
- removed class variables which are not needed
- removed external parenthesis from asserts
- in mam.MAMPrefs, removed default value for default argument, as None can't be used
- (groupblog) extended docstring for DeferredItems and DeferredItemsFromMany
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 23 Apr 2015 13:35:21 +0200 (2015-04-23) |
parents | be1fccf4854d |
children | 2d8fccec84e8 |
files | src/plugins/plugin_misc_groupblog.py src/tmp/wokkel/mam.py src/tmp/wokkel/rsm.py |
diffstat | 3 files changed, 49 insertions(+), 71 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/plugin_misc_groupblog.py Thu Apr 23 10:57:40 2015 +0200 +++ b/src/plugins/plugin_misc_groupblog.py Thu Apr 23 13:35:21 2015 +0200 @@ -494,33 +494,33 @@ ## get ## - def _getOrCountComments(self, items, max=0, profile_key=C.PROF_KEY_NONE): + def _getOrCountComments(self, items, max_=0, profile_key=C.PROF_KEY_NONE): """Get and/or count the comments of the given items. @param items (list): items to consider. - @param max (int): maximum number of comments to get, if 0 only count + @param max_ (int): maximum number of comments to get, if 0 only count them. The count is set to the item data of key "comments_count". @param profile_key (str): %(doc_profile_key)s @return: a deferred list of: - - if max == 0: microblog data + - if max_ == 0: microblog data - else: couple (dict, (list[dict], dict)) containing: - microblog data (main item) - couple (comments data, RSM response data for the comments) """ def comments_cb(comments_data, entry): entry['comments_count'] = comments_data[1]['count'] - return (entry, comments_data) if max > 0 else entry + return (entry, comments_data) if max_ > 0 else entry - assert(max >= 0) + assert max_ >= 0 d_list = [] for entry in items: if entry.get('comments', False): - comments_rsm = {'max': max} + comments_rsm = {'max': max_} d = self.getGroupBlogComments(entry['comments_service'], entry['comments_node'], rsm=comments_rsm, profile_key=profile_key) d.addCallback(comments_cb, entry) d_list.append(d) else: - if max > 0: + if max_ > 0: d_list.append(defer.succeed((entry, ([], {})))) else: d_list.append(defer.succeed(entry)) @@ -588,7 +588,7 @@ """ if max_comments is None: max_comments = MAX_COMMENTS - assert(max_comments > 0) # otherwise the return signature is not the same + assert max_comments > 0 # otherwise the return signature is not the same return self._getGroupBlogs(pub_jid_s, item_ids=item_ids, rsm=rsm, max_comments=max_comments, profile_key=profile_key) def getGroupBlogsAtom(self, pub_jid_s, rsm=None, profile_key=C.PROF_KEY_NONE): @@ -900,7 +900,7 @@ self.profile_key = profile_key def get(self, node, item_ids=None, sub_id=None, rsm=None): - """ + """Retrieve and process a page of pubsub items @param node (str): node identifier. @param item_ids (list[str]): list of items identifiers. @@ -917,7 +917,7 @@ profile, client = result rsm_ = wokkel_rsm.RSMRequest(**rsm) d = self.parent.host.plugins["XEP-0060"].getItems(client.item_access_pubsub, - node, rsm_.max_, + node, rsm_.max, item_ids, sub_id, rsm_, profile_key=profile) @@ -948,7 +948,8 @@ return {publisher: self.parent.getNodeName(publisher) for publisher in jids} def get(self, publishers_type, publishers, sub_id=None, rsm=None): - """ + """Retrieve and process a page of pubsub items + @param publishers_type (str): type of the list of publishers (one of "GROUP" or "JID" or "ALL") @param publishers (list): list of publishers, according to publishers_type (list of groups or list of jids) @param sub_id (str): optional subscription identifier.
--- a/src/tmp/wokkel/mam.py Thu Apr 23 10:57:40 2015 +0200 +++ b/src/tmp/wokkel/mam.py Thu Apr 23 13:35:21 2015 +0200 @@ -85,15 +85,11 @@ @itype form: C{unicode} """ - form = None - rsm = None - node = None - - def __init__(self, form=None, rsm=None, node=None): + def __init__(self, form=None, rsm_=None, node=None): if form is not None: - assert(form.formType == 'submit') + assert form.formType == 'submit' self.form = form - self.rsm = rsm + self.rsm = rsm_ self.node = node @classmethod @@ -141,7 +137,7 @@ @return: MAM request element. @rtype: L{Element<twisted.words.xish.domish.Element>} """ - assert(parent.name == 'iq') + assert parent.name == 'iq' mam_elt = self.toElement() parent.addChild(mam_elt) return mam_elt @@ -152,7 +148,7 @@ A Message Archive Management <prefs/> request. @param default: A value in ('always', 'never', 'roster'). - @type : C{unicode} + @type : C{unicode} or C{None} @param always (list): A list of JID instances. @type always: C{list} @@ -161,24 +157,19 @@ @type never: C{list} """ - default = None - always = None - never = None - - def __init__(self, default=None, always=None, never=None): - if default: - assert(default in ('always', 'never', 'roster')) - self.default = default - if always: - assert(isinstance(always, list)) - self.always = always + def __init__(self, default, always=None, never=None): + assert default in ('always', 'never', 'roster') + self.default = default + if always is not None: + assert isinstance(always, list) else: - self.always = [] - if never: - assert(isinstance(never, list)) - self.never = never + always = [] + self.always = always + if never is not None: + assert isinstance(never, list) else: - self.never = [] + never = [] + self.never = never @classmethod def parse(cls, element): @@ -229,7 +220,7 @@ @return: MAM request element. @rtype: L{Element<twisted.words.xish.domish.Element>} """ - assert(parent.name == 'iq') + assert parent.name == 'iq' mam_elt = self.toElement() parent.addChild(mam_elt) return mam_elt @@ -329,7 +320,7 @@ @rtype: L{Deferred<twisted.internet.defer.Deferred>} """ # http://xmpp.org/extensions/xep-0313.html#prefs - assert(default is not None) + assert default is not None iq = IQ(self.xmlstream, 'set') MAMPrefs(default, always, never).render(iq) if sender is not None: @@ -408,14 +399,13 @@ }, } - extra_filters = {} - def __init__(self, resource): """ @param resource: instance implementing IMAMResource @type resource: L{object} """ self.resource = resource + self.extra_filters = {} def connectionInitialized(self): """
--- a/src/tmp/wokkel/rsm.py Thu Apr 23 10:57:40 2015 +0200 +++ b/src/tmp/wokkel/rsm.py Thu Apr 23 13:35:21 2015 +0200 @@ -53,7 +53,7 @@ @itype max_: C{int} or C{unicode} @ivar index: starting index of the requested page. - @itype index: C{int} or C{unicode} + @itype index: C{int} or C{unicode} or C{None} @ivar after: ID of the element immediately preceding the page. @itype after: C{unicode} @@ -62,31 +62,25 @@ @itype before: C{unicode} """ - max_ = 10 - index = None - after = None - before = None - - def __init__(self, max_=None, index=None, after=None, before=None): - if max_ is not None: - max_ = int(max_) - assert max_ >= 0 - self.max_ = max_ + def __init__(self, max_=10, index=None, after=None, before=None): + max_ = int(max_) + assert max_ >= 0 + self.max = max_ if index is not None: assert after is None and before is None index = int(index) assert index >= 0 - self.index = index + self.index = index if after is not None: assert before is None assert isinstance(after, unicode) - self.after = after + self.after = after if before is not None: assert isinstance(before, unicode) - self.before = before + self.before = before @classmethod def parse(cls, element): @@ -112,8 +106,8 @@ elif elt.name in ('max', 'index'): setattr(request, elt.name, int(''.join(elt.children))) - if request.max_ is None: - raise RSMError("RSM request is missing its 'max_' element") + if request.max is None: + raise RSMError("RSM request is missing its 'max' element") return request @@ -124,7 +118,7 @@ @rtype: L{domish.Element} """ set_elt = domish.Element((NS_RSM, 'set')) - set_elt.addElement('max').addContent(unicode(self.max_)) + set_elt.addElement('max').addContent(unicode(self.max)) if self.index is not None: set_elt.addElement('index').addContent(unicode(self.index)) @@ -150,7 +144,7 @@ @rtype: L{domish.Element} """ if element.name == 'pubsub' and hasattr(element, 'items'): - element.items.attributes['max_items'] = unicode(self.max_) + element.items.attributes['max_items'] = unicode(self.max) set_elt = self.toElement() element.addChild(set_elt) @@ -175,25 +169,18 @@ @itype last: C{unicode} """ - count = 0 - index = None - first = None - last = None - - def __init__(self, count=None, index=None, first=None, last=None): - if count is not None: - assert isinstance(count, int) and count >= 0 - self.count = count - + def __init__(self, count=0, index=None, first=None, last=None): + assert isinstance(count, int) and count >= 0 + self.count = count if index is not None: assert isinstance(index, int) and index >= 0 - self.index = index assert isinstance(first, unicode) - self.first = first assert isinstance(last, unicode) - self.last = last else: assert first is None and last is None + self.index = index + self.first = first + self.last = last @classmethod def parse(cls, element):