Commit graph libervia-backend/src
Author SHA1 Message Date
Goffi
1bcdca4a2f plugin import: node can now be specified + added a "session" dict to keep import session data:
import session data are data that can be used by importer to store anything which can be useful to keep between import methods.
2017-10-06 08:52:51 +02:00
Goffi
80eb458024 plugin import: generic data import plugin:
this plugin handle common task for importers. Specialized importers (e.g. blog import) use it as a basic, and specific importers (e.g. Dotclear) register to the specialized one.
Blog importer generic method have been moved to it.
2017-10-01 12:21:23 +02:00
Goffi
fa1680a119 template (xmlui): added values property to be able to use always values even when there is only one value 2017-10-01 12:21:23 +02:00
Goffi
3ec8f283cb core (xmlui): container now keep a list of children 2017-10-01 12:21:23 +02:00
Goffi
df038ad3d4 core (xmlui): added method to convert data form result to XMLUI:
- former method was misnamed as it was used to convert data form element to XMLUI, so it has been renamed to dataFormEltResult2XMLUI
    - dataFormResult2XMLUI is now use to convert wokkel.data_form.Form instances to XMLUI
2017-10-01 12:21:23 +02:00
Goffi
499f2525cc plugin PubSub Schema: schema helper methods:
3 new methods are introduced by this patch:
- psSchemaUIGet to get XMLUI from node schema
- psItemsFormGet to get items as XMLUI when we know they are data forms
- psItemFormSend to set item from values when we know it's a node with schema. For this method, schema can be specified, and if it is not it will be retrieved from node (which imply an additional XMPP request)
2017-10-01 12:21:21 +02:00
Goffi
04d851c5c5 template: template XMLUI first draft:
this module prepares an object which can be easily used in templates to construct interface from XMLUI.
2017-09-24 16:39:36 +02:00
Goffi
506f948214 core, frontends (xmlui): new LabelContainer:
LabelContainer is like a PairContainer where first widget can only be LabelWidget or EmptyWidget. This case is the most common, and allow to generate better code when label can be associated to widget (e.g. in HTML).
2017-09-24 16:36:11 +02:00
Goffi
3f2c1046eb plugin XEP-0060: use client instead of profile_key in getItems 2017-09-24 16:32:22 +02:00
Goffi
3d6cac0403 core (memory/sqlite): typo 2017-09-22 18:04:14 +02:00
Goffi
ab2e625607 core (memory/sqlite): better stability:
- timeout increased to 15 s
    - if a query fail, it's retried up to 5 times
    - foreign key PRAGMA is executed on every new connection object (should fix non working foreign keys)

those are Q&D workarounds for issues with Sqlite, before switching to a higher level module to handle it correctly.
2017-09-21 21:53:28 +02:00
Goffi
4602edfb4f tmp (wokkel): fixed subscriptions node handling 2017-09-08 07:58:10 +02:00
Goffi
b567e87e9b plugin XEP-0060: added/fixed subscribe/unsubscribe and subscriptions methods/bridge methods:
subscriptions now returns Subscription instances, and psSubscriptionsGet return dict with subscription data (node, subscriber, state)
2017-09-08 07:57:57 +02:00
Goffi
2f3727b85d plugin schema: PubSub node schema, first draft
node schema is a new SàT Pubsub experimental feature allowing to attach a schema to a node.
2017-09-06 07:38:39 +02:00
Goffi
607138befb tmp(wokkel/pubsub): allows getNodes to return names using tuples(node/names) 2017-08-27 20:14:59 +02:00
Goffi
9f30634f14 core (memory/disco): added use_cache parameter to discoInfos/discoItems (set to False to ignore cache) 2017-08-22 22:12:57 +02:00
Goffi
6ad80151f9 plugin XEP-0277: added microblog namespace to disco info 2017-08-20 17:37:43 +02:00
Goffi
7e826f6aae plugin XEP-0060: implemented subscriptions management method for node owner:
added getNodeSubscriptions and setNodeSubscriptions and their bridge method (psNodeSubscriptionsGet and psNodeSubscriptionsSet)
2017-08-20 10:31:53 +02:00
Goffi
8e8e619031 tmp (wokkel/pubsub): subscriptions improvments:
- added "none" state to Subscription, it is needed to remove existing subscription
- implemented subscriptionsGet and subscriptionsSet
- replaced "nodeOrEmpty" by "node" for affiliationsGet, affiliationsSet and subscriptionsGet as node is mandatory for these commands
2017-08-20 10:29:26 +02:00
Goffi
d5908b6ee6 tools(common/uri): fixed encoding in buildXMPPUri 2017-07-13 21:23:36 +02:00
Goffi
da75f58453 tools (common/uri): buildXMPPUri: use XEP-0277 namespace as node if node is empty or None for microblog subtype 2017-07-13 21:12:46 +02:00
Goffi
85d58f902b plugin text syntaxes: various improvments:
- syntaxes and default_syntax are now class attribute instead of members of params_data
    - removed local exception UnknownSyntax in favor of exceptions.NotFound
    - syntaxes are now saved with a key which is name in lower case and stripped, unmodified name is put in syntax's data
    - new getSyntax (syntaxGet in bridge) method to get syntax key and raise an error if not found. Can be used by frontends to check that a syntax is known.
2017-07-13 20:53:51 +02:00
Goffi
d8080c8ad2 template: print warning message and use DEFAULT_LOCALE on bad locale 2017-07-12 19:06:28 +02:00
Goffi
ef6c0c30f5 plugins invitation, XEP-0277: strip language, we don't want spaces 2017-07-12 19:05:33 +02:00
Goffi
4ec04b1fb0 plugin XEP-0060: remove max_items when item_ids is set on getItems 2017-07-08 23:21:01 +02:00
Goffi
c5149909be plugin XEP-0060: fixed service in metadata for PEP 2017-07-08 21:43:36 +02:00
Goffi
05f0764d2f plugin Pubsub Hook: first draft:
This new plugin allow to attach an external action to a Pubsub event (i.e. notification).
Hook can be persitent accross restarts, or temporary (will be deleted on profile disconnection).

Only Python files are handled for now.

In the future, it may make sense to move hooks in a generic plugin which could be used by ad-hoc commands, messages, pubsub, etc.
2017-07-05 15:05:47 +02:00
Goffi
c56d3fc759 plugin XEP-0060: addManagedNode callbacks now use client syntax instead of profile 2017-07-05 15:04:43 +02:00
Goffi
359b3a1b43 core (tools/email): an unicode "to" email (instead of a list) can now be used 2017-07-05 15:02:52 +02:00
Goffi
5ef5fc36f1 plugin events: changed import names to EVENTS uppercase for consistency with other plugins 2017-07-05 14:50:45 +02:00
Goffi
3d7e11cd8f core (memory/persistent): fixed calls to delPrivateValue 2017-07-05 14:50:39 +02:00
Goffi
eaa420fb03 jp (event/invitee): added list command to get R.S.V.P. :
RSVP are gotten for invitees node, and R.S.V.P. are displayed. Then a summary display the number of yes, maybe and no, and the expected number of guests.
2017-07-02 20:09:25 +02:00
Goffi
828d1564fb core (tools/common/regex): new ansiRemove method to remove ANSI escape codes from a string 2017-07-02 19:53:44 +02:00
Goffi
8b21f69945 plugin events: added eventInviteesList method to get all R.S.V.P. at once. 2017-07-02 19:47:25 +02:00
Goffi
d07083bff6 plugin events, invitations + jp (event/create, invitation/invitee/invite): several emails addresses can now be specified for a single invitation:
if several addresses are specified, the same invitation (same ID and data) is sent to all the addresses
2017-06-30 00:04:47 +02:00
Goffi
cbeb350bd5 plugin XEP-0277: max_items fix (last "fix" about it was actually bad) 2017-06-29 23:40:12 +02:00
Goffi
b1b39a636e plugin events: added eventInvite command as a helper for the complex invitation workflow:
when this command is used:
    - an email invitation is sent with the event node set
    - invitee's jid is affiliated to event
    - invitee's jid is affiliated to invitee's node as a publisher
    - invitee's jid is affiliated to blog's node as a member
    - invitee's jid is affiliated to every blog's item's comments node as a publisher
last affiliation complex operation is currently needed because of the way blogs and comments are handled, but this need to be changed in the future with XEP proposal.
2017-06-29 20:57:12 +02:00
Goffi
80afa4654c plugin XEP-0277: change affiliations for comments + fixes:
- mbGet now use client instead of profile_key
    - fixed max_items handling
    - for whitelist access model, if a comments node is created, "member" affiliations are transformed to "publisher"
      This is because most of time we want that somebody is able to read a private blog but not write on it, and be able to write a comment.
2017-06-29 20:45:54 +02:00
Goffi
e22336c6f2 plugin XEP-0060: added sendItem and psItemSend bridge method as a way to send directly raw XML for an item + use client instead of profile_key in publish + renamed psItemGet to psItemsGet 2017-06-27 19:38:20 +02:00
Goffi
f3a94527b0 tools (common/template): changed blog_date filter to date_days
Instead of returning the whole sentence, date_days only return the number of days between now and the given timestamp.
This way the template author can choose how to use it, and translation can be done template side.
2017-06-24 21:47:06 +02:00
Goffi
92825fc674 tools (common/template): ScriptsHandler fix/improvments:
ScriptsHandler was not used so far, this commit fix it to be usable:
    - script can be imported with "include"
    - generate_scripts is used to generate the <script> elements generation, in base page
    - paths use root_path, so they are adapted to context
    - generate_scripts return a Markup string, so it's not escaped
2017-06-24 20:18:55 +02:00
Goffi
9ae18d4d28 plugin XEP-0277, tools/common/data_objects: language handling 2017-06-22 09:13:28 +02:00
Goffi
98d328ca47 core (stdui): added a FIXME to not use plugin/default_host in the future 2017-06-21 19:47:38 +02:00
Goffi
e30f22ec4c core: check uncatched exceptions during plugin import and stdui init, log error and exit if any found 2017-06-21 19:40:13 +02:00
Goffi
0b1b687ca3 plugin account: print a warning and use "example.net" as default instead or raising an error when xmpp_domain is not set 2017-06-21 19:36:00 +02:00
Goffi
ffdc55ce2e core: added hosts_dict handling in general config:
A way to force host was already available through hosts_dict, but for Android only in [android] section. It has now be moved in general conf as it can be useful in other cases, and improved to handle port too.

This way if something like this is present in sat.conf:

[DEFAULT]
hosts_dict = {"example.net": {"host": "127.0.0.1", "port": 7777}}

these values will be used and DNS check will be bypassed. A string can also be used for values, in this case only host is changed.
2017-06-19 09:36:55 +02:00
Goffi
acecf724f3 plugin XEP-0054: fixed not transmitted arguments in getAvatar 2017-06-03 22:24:53 +02:00
Goffi
4dee63d105 core (tools/common/data_objects): added classes to handle Identities 2017-05-22 23:58:26 +02:00
Goffi
0b154647e4 plugin invitations: name is now registered as nickname on XMPP server thanks to plugin identity 2017-05-21 20:08:42 +02:00
Goffi
9ce44321cf plugin invitations: doesn't raise an exception anymore if url_template is not set while email is not requested 2017-05-21 20:07:54 +02:00