Commit graph libervia-backend/src/plugins/plugin_xep_0277.py
Author SHA1 Message Date
souliane
8b9075e1f0 plugin XEP-0277: don't try to create a new comments node if it already exists 2015-12-01 23:09:50 +01:00
Goffi
2a015e3bec plugin XEP-0277: raise a failure if XHTML content is not wrapped in a <div/> 2015-12-01 13:55:48 +01:00
Goffi
9cc2a923fa plugin XEP-0277: accept several <title/> elements, there is a standard issue so for now it's the most flexible behaviour 2015-12-01 13:55:48 +01:00
Goffi
1d08040db4 plugin XEP-0277: just a reminder 2015-11-27 17:53:13 +01:00
Goffi
2fdfc5220f plugin XEP-0277: minor fixes for publisher attribute 2015-11-25 18:24:34 +01:00
Goffi
e78b225922 plugin XEP-0277: unicode fixes in logs 2015-11-25 18:24:30 +01:00
souliane
8181d8c08c plugin XEP-0277: use bare JIDs to verify publisher 2015-11-25 17:19:25 +01:00
Goffi
6724b696bc plugin XEP-0277, group blog: added item2data trigger + group permission are parsed when receiving a new item 2015-11-25 10:45:22 +01:00
Goffi
08c4e34815 plugin XEP-0277: tags are handled through atom categories 2015-11-24 23:18:32 +01:00
Goffi
9498114b61 plugin XEP-0277: added a trigger on data2entry and comments management 2015-11-24 16:21:18 +01:00
Goffi
57176d1018 plugin XEP-0277: checkFeatures implemented 2015-11-23 23:30:41 +01:00
Goffi
9b3f0514a6 plugin XEP-0277: fixed entries in atom feed 2015-11-23 15:51:19 +01:00
Goffi
3c2446e078 plugin XEP-0277: fixed unsecure blog feed 2015-11-23 14:58:18 +01:00
Goffi
969af13f59 plugins: added new MissingModule exceptions to plugins using third party modules 2015-09-30 17:25:09 +02:00
souliane
dda1628f3d plugin XEP-0277, misc_groupblog: move getGroupBlogsAtom to XEP-0277, rename to mbGetAtom 2015-09-10 15:06:01 +02:00
souliane
3da283a698 plugin XEP-0277, quick_frontend: rename mbGetLast to mbGet and add it the parameter "item_ids" 2015-09-10 07:39:09 +02:00
souliane
d747c144cd plugin XEP-0277: clarify a docstring for one complex method argument 2015-09-10 07:35:43 +02:00
Goffi
b7409e0488 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
/!\ not everything is working yet, and specially groupblogs are broken /!\
    - renamed bridge api to use prefixed methods (e.g. psSubscribeToMany instead of subscribeToMany in PubSub)
    - (xep-0060): try to find a default PubSub service, and put it in client.pubsub_service
    - (xep-0060): extra dictionary can be used in bridge method for RSM and other options
    - (xep-0060): XEP_0060.addManagedNode and XEP_0060.removeManagedNode allow to easily catch notifications for a specific node
    - (xep-0060): retractItem manage "notify" attribute
    - (xep-0060): new signal psEvent will be used to transmit notifications to frontends
    - (xep-0060, constants): added a bunch of useful constants
    - (xep-0163): removed personalEvent in favor of psEvent
    - (xep-0163): addPEPEvent now filter non PEP events for in_callback
    - (xep-0277): use of new XEP-0060 plugin's addManagedNode
    - (xep-0277): fixed author handling for incoming blogs: author is the human readable name, author_jid it jid, and author_jid_verified is set to True is the jid is checked
    - (xep-0277): reworked data2entry with Twisted instead of feed, item_id can now be specified, <content/> is changed to  <title/> if there is only content
    - (xep-0277): comments are now managed here (core removed from groupblog)
    - (xep-0277): (comments) node is created if needed, default pubsub service is used if available, else PEP
    - (xep-0277): retract is managed
2015-08-16 00:39:44 +02:00
Goffi
1e21730bfe plugin XEP-0277: added mBGetFromManyWithComments to have items + comments in one method call 2015-08-15 22:24:38 +02:00
Goffi
45c81e068b plugin XEP-0277: better parsing of atom:author element + item2mbdata minor reorganisation for better readability 2015-08-15 22:22:36 +02:00
Goffi
c3e34047b2 plugin xep-0060,xep-0277: added getFromMany using new RTDeferredSession mechanism 2015-08-15 22:22:34 +02:00
Goffi
7e83aaedb3 plugins xep-0060, xep-0277: added methods to serialise getItems result (before bridge transmission):
serItemsData is used for normal callbacks, and serItemsDataD for callbacks which return deferred. These methods simplifly the code by making the re-use of getItems more easy.
2015-08-15 22:20:56 +02:00
Goffi
2b20bff614 plugins xep-0277, groupblog: added subscriteToMany to replace massiveSubscribeGroupBlogs + added SatRosterProtocol.getJidsSet 2015-08-15 22:20:43 +02:00
Goffi
fd3e9ce044 plugins xep-0060, xep-0277: code simplification/cleaning/fix:
- plugin xep-0060: moved rsm data to a more general metadata dict, which will contain all data relative to the node/items set. RSM metadata are prefixed with "rsm_"
    - plugin xep-0060: minor docstring fixes
    - plugin xep-0060: removed cache to simplify code base
    - fixed broken getLastMicroblogs
    - added _getLastMicroblogs as wrapper to getLastMicroblogs, for bridge
    - removed lxml dependecy for this plugin, use native twisted instead
    - several improvments/fixes in item2mbdata
2015-08-15 22:13:27 +02:00
Goffi
899c503255 plugins xep-0277: some methods reordering to make the plugin more readable 2015-04-23 10:25:47 +02:00
Goffi
59d21b93d1 plugins (groupblog, xep-0277) + tmp(rsm): improved style:
- removed external parenthesis in assertions
    - added blank line after first line of docstrings
    - replaced "__" prefixes by "_"
    - renamed variabled named after the reserverd word "max" to "max_"
2015-04-22 18:30:28 +02:00
souliane
67ff77e5de massive (preventive) addition of 'u' (unicode) before the strings passed to logging functions 2015-04-16 14:57:57 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
souliane
cb0eaacf28 plugin XEP-0277: minor fix in plugin declaration 2014-12-19 11:41:23 +01:00
souliane
f3b7bd1ec2 plugins XEP-0060, XEP-0277, groupblog: make use of RSM (XEP-0059) 2014-12-15 14:04:19 +01:00
souliane
97630ccab9 plugin XEP-0277, groupblog: fixes namespace issue of the items that are received from an event + trap some errors 2014-10-06 17:25:41 +02:00
Goffi
501bc92528 core: use of the new core.log module:
/!\ this is a massive refactoring and was largely automated, it probably did bring some bugs /!\
2014-04-19 19:19:19 +02:00
Goffi
005ec59a8a core: use of Const for profile_key + replaced '@DEFAULT@' default profile_key by '@NONE@' 2014-03-21 16:27:09 +01:00
souliane
7a9fb7f505 plugin XEP-0277: fix pubsub entry parsing using lxml instead of feed.atom 2014-02-23 13:54:41 +01:00
souliane
8335f92c87 plugins groupblog, XEP-0277: attempt to clarify the code for the comments handling:
- add or update some methods docstrings
- add GroupBlog.__fillCommentsElement to factorize the code responsible to build the comments link
- do not mix up attributes names between the item own service/node and the comments service/node
2014-02-14 21:24:31 +01:00
Goffi
80afa4ed37 plugin XEP-0277: last commit was actually a part of the next one 2014-02-23 23:59:02 +01:00
Goffi
b0bbd32038 plugin XEP-0277: added missing docstring 2014-02-23 23:30:35 +01:00
Goffi
cf08f0127a plugin XEP-0277: encoding fix 2014-02-20 13:28:09 +01:00
souliane
63bf55d69f plugin XEP_0277: fix encode/decode errors 2014-02-12 15:24:03 +01:00
souliane
a3e2beeeae plugin XEP_0277: check for XHTML namespace and decapsulate the content from the main div container 2014-02-12 15:23:15 +01:00
souliane
ff81f76184 plugin groupblog, XEP-0071, XEP-0277, text_syntaxes: manage raw/rich/xhtml data for content/title:
Implementation should follow the following formal specification:

"title" and "content" data can be passed in raw, xhtml or rich format.
When we receive from a frontend a new/updated microblog item:

- keys "title" or "content" have to be escaped (disable HTML tags)
- keys "title_rich" or "content_rich" have to be converted from the current syntax to XHTML
- keys "title_xhtml" or "content_xhtml" have to be cleaned from unwanted XHTML content

Rules to deal with concurrent keys:

- existence of both  "*_xhtml" and "*_rich" keys must raise an exception
- existence of both raw and ("*_xhtml" or "*_rich") is OK

As the storage always need raw data, if it is not given by the user it can be
extracted from the "*_rich" or "*_xhtml" data (remove the XHTML tags).

When a frontend wants to edit a blog post that contains XHTML title or content,
the conversion is made from XHTML to the current user-defined syntax.

- plugin text_syntaxes: added "text" syntax (using lxml)
2014-02-05 16:36:51 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
5a00dc9503 core: i18n refactoring:
- _() is no more installed in __builtin__
    - instead, there is a new sat.core.i18n module
    - added D_() method for deferred translation
    - languageSwitch method allow to dynamically change translation language
    - import gettext is tested against ImportError, and dummy methods are used when not available (mainly useful for Libervia)
2013-12-29 17:06:01 +01:00
souliane
5b623dbb5c plugin groupblog, XEP-0277: store both published and updated timestamps 2013-12-19 13:54:40 +01:00
souliane
481bee01c2 plugins groupblog (xep-0060, xep-0277): added blog item modification/deletion 2013-12-10 09:02:20 +01:00
Goffi
d6e7ec0055 plugin XEP-0277, groupblog: rich text management for receiving microblogs 2013-11-14 18:36:02 +01:00
Goffi
5981926b2b plugin XEP-0277, group blog: rich text management for sending microblogs 2013-11-14 18:35:51 +01:00
Goffi
e23ff9f8d1 plugin XEP-0277, group blogs: proper asynchronous methods for sending blogs. 2013-11-14 17:51:35 +01:00
Goffi
eb60e0ff33 core, plugins: fixed bad use of children instead of elements() for domish.Element instances. 2013-10-15 19:28:34 +02:00
Goffi
91aac2ad4f plugin XEP-0277: RuntimeError is now catched during link parsing (can happen if no service jid is found) 2013-06-20 17:15:21 +02:00