Commit graph libervia-backend/src/plugins
Author SHA1 Message Date
Goffi
cf08f0127a plugin XEP-0277: encoding fix 2014-02-20 13:28:09 +01:00
souliane
7c29b8c566 plugin room_game, radiocol: RoomGame.send returns a Deferred. 2014-02-18 17:49:33 +01:00
souliane
daccb7c953 plugin groupblog: do not log error message when asking for the entries of a non existent node (e.g the contact hasn't posted any message yet) 2014-02-18 14:35:30 +01:00
souliane
24beb81688 misc: fix unnamed arguments in format strings 2014-02-17 14:58:26 +01:00
souliane
d5fb045f5b plugin text_syntaxes: html2text was breaking the long URLs 2014-02-13 12:29:14 +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
c2e4e9f8f9 plugin text_syntaxes: rstrip the conversion result to avoid new lines systematically added by converters (e.g. html2text do this) 2014-02-12 15:21:00 +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
souliane
5aa76d7d23 plugin groupblog: added method getLastGroupBlogsAtom returns the Atom feed of blog posts 2014-01-22 17:10:28 +01:00
souliane
30dfdf1025 plugins room_games, radiocol, libervia: small changes like refactorization to ease the maintenance 2014-01-17 15:02:46 +01:00
souliane
4818da04fc plugin radiocol: sync data includes a "jump to time" info 2014-01-16 11:44:14 +01:00
souliane
8b700a6d48 plugins radiocol_tarot: do not process received messages for MUC users that are actually not playing the game + fix for testing purpose 2014-01-15 23:09:39 +01:00
souliane
9e6845472d plugins room_games, radiocol: better synchronization after a user joins a running game 2014-01-15 23:01:23 +01:00
Goffi
b1f91fe568 plugin Ad-Hoc D-Bus: first draft:
this plugin allow to easily use D-Bus with Ad-Hoc command. This first draft only allow to create a D-Bus remote for now.
2014-02-17 18:57:06 +01:00
Goffi
5d29ffbdda plugin XEP-0050: fixed UnknownGroupError management + "@ALL@" profile for status command 2014-02-13 18:50:56 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
aad6251058 core: security limit in menus 2014-02-04 18:32:39 +01:00
Goffi
c6aaaaa297 plugin XEP-0077, plugin XEP-0100, frontends: gateways have been entirely implemented in backend using the new refactored XMLUI and AdvancedListContainer. The now useless code has been removed from frontends. 2014-02-04 18:26:03 +01:00
Goffi
b3fb68cb63 core, frontends: XMLUI refactoring:
- XMLUI now use objects with 2 main classes: widgets (button, label, etc), and container which contain widgets according to a layout
    - widgets and containers classes are found through introspection, thereby it's really easy to add a new one
    - there is still the AddWidgetName helper, for example AddText('jid', 'test@example.net') will add a StringWidget with name "jid" and default value "test@example.net"
    - container can be inside other containers. changeContainer change the first parent container
2014-02-04 18:19:00 +01:00
Goffi
72fd99f679 plugin XEP-0045, primitivus: added MUC configuration 2014-02-04 18:06:12 +01:00
Goffi
8ee9e2529e plugin XEP-0055, Primitivus: Directory search dialogs are now entirely done in plugin XEP-0055, specific code in frontend is not needed anymore 2014-02-04 18:03:53 +01:00
Goffi
67df03f7bf core: XMLUI now use @property for session_id and submit 2014-02-04 18:02:40 +01:00
souliane
f2503f89ae plugins room games, XEP-0045: small fixes, improved docstrings 2014-01-10 18:07:36 +01:00
souliane
9f9ea3acf0 plugin room game: improved docstrings, added '_' as prefix for internal methods names 2014-01-09 10:28:25 +01:00
Emmanuel Gil Peyrot
31607daee1 plugin XEP-0054: also work with python2-pillow 2014-01-10 21:12:06 +01:00
souliane
84bfd205dd test: added tests for XEP-0033 2014-01-05 13:05:31 +01:00
souliane
1986ea26ca plugin XEP-0033: the comparison for auto-fixing for the stanza recipient was not correct 2014-01-05 13:00:17 +01:00
Goffi
b7bf434cd2 core: dynamics menus refactoring:
- menu now use generic callback system, with extra data
    - asyncMenuCall is removed in favor of launchAction
    - menu_id (== callback_id) is used to identify menu instead of category/name/type tuple
    - i18n is managed throught deferred translation, and returned with _i18n suffix
        e.g.: menu (D_('File'), D_('Open')): (u'File', u'Open') is menu_path, (u'Fichier', u'Ouvrir') is french menu_path_i18n.
    - type actually can have the following values:
        - NORMAL: classical menu
        - JID_CONTEXT: contextual menu, used with any jid
        - ROSTER_JID_CONTEXT: like JID_CONTEXT, but restricted to jids in roster.
        - ROSTER_GROUP_CONTEXT: contextual menu, use with groups
    - security_limit is used, in the same way as for parameters
    - when using importMenu, callback can be an actual callback, or one already registered with registerCallback
2013-12-29 17:10:14 +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
b97f78ca93 plugins radiocol, xep-0054: better handling of upload errors:
- radiocolSongAdded is now asynchronous
- _buildAvatar return a Failure if the image is not readable
2013-12-17 18:44:53 +01:00
souliane
5b632eca67 plugin radiocol: fix wrong call of deleteFile 2013-12-17 11:35:41 +01:00
Goffi
edb1d7c76b plugin xep-0050 (ad-hoc commands): requesting part. first draft 2013-12-24 15:43:52 +01:00
Goffi
4d15d4a4eb core (xml_tools): dataForm*2XML renamed to dataForm*2XMLUI and now return XMLUI instead of raw XML + submit_id is managed, and session_id is returned if present 2013-12-24 15:43:22 +01:00
Goffi
069a250b04 backend, frontends: callbacks refactoring:
- launchAction is now async, and return a dictionary for its result
    - no more action_id, actionResult* are deprecated
    - callback system is about to be unified
2013-12-24 15:19:08 +01:00
Goffi
aa8ca0772c plugin xep-0050: using new Sessions class 2013-12-24 15:19:08 +01:00
Goffi
7d60564e23 plugin XEP-0050: fixed getDiscoItems when no commands were added + fixed commands purge on profile disconnection 2013-12-24 01:31:01 +01:00
Goffi
b6aaecc5c2 core, bridge: better GenericException handling 2013-12-17 00:56:39 +01:00
souliane
09e5cc47bb plugin XEP-0033: avoid the controlled error to explode (use return Failure(...) instead of raise) 2013-12-16 17:49:54 +01:00
souliane
d12cf069f8 plugin XEP-0033: bug fix for sending messages with the addressing feature to several servers 2013-12-16 14:48:28 +01:00
souliane
e8ae4435a3 plugin room_games, radiocol: send the current queue to new players 2013-11-28 19:23:59 +01:00
souliane
481bee01c2 plugins groupblog (xep-0060, xep-0277): added blog item modification/deletion 2013-12-10 09:02:20 +01:00
souliane
7d3f74ef62 plugins text-syntaxes: added a default value to use the current user syntax in convert 2013-12-09 15:31:07 +01:00
souliane
89c2519ae7 plugin XEP-0045: remove redondant errback from _join 2013-11-28 21:27:18 +01:00
souliane
718bb98300 plugin XEP-0033: implementation of the addressing feature:
- frontends pass the recipients in the extra parameter of sendMessage
    - backend checks if the target server supports the feature (this is not done yet by prosody plugin)
    - features and identities are cached per profile and server
    - messages are duplicated in history for now (TODO: redesign the database)
    - echos signals are also duplicated to the sender (FIXME)
2013-12-11 17:16:53 +01:00
Goffi
6118c7f00f reverted last commit 2013-12-13 17:46:35 +01:00
Goffi
cade2480df plugin account: don't wait for emails anymore 2013-12-13 17:40:48 +01:00
Goffi
b9cf5049b5 plugin microbloging: fixes bad calls 2013-12-13 17:18:29 +01:00
Goffi
ce3e28d588 plugin account: configuration constants can be overriden in sat.conf (section "plugin account") + better deferred management in email sending 2013-12-13 17:15:57 +01:00