Commit graph

2,284 commits

Author SHA1 Message Date
Goffi
efbefbb276 jp (blog, event): added checkURI to some command to be able to enter a xmpp: uri as argument 2017-06-29 20:36:35 +02:00
Goffi
706fddbd9e jp (pubsub/get): renamed --id option to --item for consistency with other commands 2017-06-29 20:35:07 +02:00
Goffi
b983d39069 jp (input): log improvments + empty filter:
- more colors in debug logs
    - read values are printed if verbosity is >= 2
    - stdout and stderr of each command can be written in files using --log and --log-err
    - --empty option allow to ignore arguments if its value is empty, or skip the whole row
2017-06-28 23:49:55 +02:00
Goffi
2795935703 jp (pubsub/delete): delete command implementation (to delete an item) 2017-06-28 20:28:58 +02:00
Goffi
364130bcbe jp (pubsub, common): fixed last item edition (keep item id instead of creating a new one) 2017-06-28 20:28:24 +02:00
Goffi
c2ae6579c3 jp (cmd_pubsub): xmpp: uri handling, first draft 2017-06-28 19:19:08 +02:00
Goffi
9322d617d4 jp (input): input command first draft:
this is an experimental command to use external data as input arguments.
A series of data is used (only CSV is implemented so far), and it is used to fill argument of a command according to a sequence.
The sequence is given using input arguments, with types corresponding to the data found (short option, long option, stdin).
e.g. if a CSV file has row with 3 columns, we can say that column 1 is subject (long option), column 2 is body (stdin), and column 3 is language (short option -l).
A filter can be used after each option type, to transform read value.
Finally a static part is used to have the main command and non dynamic arguments to use.
2017-06-28 01:28:41 +02:00
Goffi
e8409b13e6 jp (base): added no_lf in disp() to avoid printing a line feed 2017-06-28 01:21:49 +02:00
Goffi
be2bb0ff3f jp (common): added --last-item to take last item when no item id is found/given 2017-06-28 01:20:44 +02:00
Goffi
7f13ed15fd jp (pubsub/edit): new edit subcommand, which work in a same way as for blog 2017-06-27 19:38:22 +02:00
Goffi
5af5b344e5 jp (pubsub): psItemGet has been renamed to psItemsGet as several items are gotten 2017-06-27 19:38:22 +02:00
Goffi
2449721982 jp (blog, common): various fixes in common and blog:
- parse_args has been moved to common
    - cat_dir is converted to str on BaseEdit init, so it can be use to make str path for files manipulation
    - fixed use of EDITOR_ARGS_MAGIC when use_metadata is False
    - fixed unlink of metadata files when use_metadata is False
2017-06-27 19:38:22 +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
71d61f372f jp (blog): minor typo fix 2017-06-27 17:02:10 +02:00
Goffi
6025cc4e3b jp (blog, common): added --force-item option to avoid magic and use argument as actual item id:
- creation of new item with item id has been fixed
    - --force-item allow to use url as item id, or keyword
    - pubsub_item can is now returned by getItemPath. If not None, the id is known and must be used
2017-06-27 17:00:52 +02:00
Goffi
5eda63d99e jp (blog, common): moved and improved edit code from blog:
- a new "common" module is there for code commonly used in commands
    - moved code for editing item with $EDITOR there
    - moved code to identify item to edit there
    - aforementioned fontions have been made generic
    - a class BaseEdit is now available to implement edition
    - HTTPS links are handled (only HTTP links were working before)
    - item can be use if all previous methods fail (url, keyword, file path).
2017-06-27 16:23:28 +02:00
Goffi
7edc9c8a3b jp (constants): added exit code for data error. 2017-06-27 16:14:58 +02:00
Goffi
be9de5afc4 jp (blog): added language in managed keys 2017-06-25 09:43:04 +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
b18523e615 jp (invitation): fixed inconsistency in language handling 2017-06-21 08:00:14 +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
Goffi
b7a0972237 jp (identity): new identity command to handle the new plugin identity in backend, and maybe other plugins like vcard in the future 2017-05-21 20:06:07 +02:00
Goffi
6180484965 plugin identity: plugin identity first draft:
this new plugin is a high level way to manage profile or entity identities, i.e. informations about them.
It has been created to handle easily data which can be in several location (e.g. roster, vcard-tmp, vcard4, etc.)
For now, only nickname can be gotten/set (set only works for profile's own identity, while get can be used on any jid).
2017-05-21 20:04:57 +02:00
Goffi
7ab6802b2c plugin XEP-0054: nick handling + don't remove data on avatar set
- new getNick and setNick allow to manipulate nickname
    - setAvatar was removing any data previously in vCard, this is not the case anymore
2017-05-21 20:01:24 +02:00
Goffi
a4b122094c core: fixed profile key detection in getClients + raise DataError on empty profile 2017-05-21 19:59:42 +02:00
Goffi
2ca6788477 jp (invitation): fixed typo 2017-05-21 19:57:46 +02:00
Goffi
c6ea8e7dbe core (tools/common/template): i18n support
- babel has been added as a new dependencies, and should replace gettext in core in the future
    - added i18n support in template rendered
    - current locale is available as babel Locale in templates through "locale" variable
    - locales can be changed before rendering using setLocale
    - for now, all locales translations are loaded on init, and stay in cache. A more complex cache system may be needed in the future (e.g. keeping only most used and load others from files when needed).
2017-05-21 15:59:47 +02:00
Goffi
40e764cab5 jp (output/template): initialize template rendered only if a rendering is actually needed 2017-05-21 15:52:23 +02:00
Goffi
9ea4dba14d jp (event): don't use dayfirst for YY-MM-DD style dates 2017-05-21 15:47:53 +02:00
Goffi
f3ae390188 plugin events: fixed blog/invitees uri handling 2017-05-19 13:53:52 +02:00
Goffi
6c9255e31d core (tools/common/template): helping methods/filters for templates:
- Indexer class (used with next_gidx/cur_gidx) allows to get per page indexes, usefull to have unique id to reference
    - blog_date is a Q&D filter to get relative dates, should be replaced/improved in the future
    - ScriptsHandler (used with scripts_handler) is intended to be a way to add scripts from template, and group them at a specific location of the page. It is not used yet and may change heavily or disappear in the future.
2017-05-19 12:54:31 +02:00
Goffi
2359f3908a jp (event): creation/modification of main event + invitee commands are now in a "invitee" subcommand 2017-05-19 12:45:26 +02:00
Goffi
fb1e9bf53a plugin events: separation of event node and invitees node
- event node is handling the main metadata of the event, and invitees node handle the invitations/invitees answers
    - invitees and blog node are automatically created and associated to the event, except if they are specified (in which cas the existing one are used and attached to the event node)
    - extra metadata are added to <meta> elements
2017-05-19 12:43:41 +02:00
Goffi
3c8a46760a core (tools/common/uri): don't display finale "?" if no extra data is specified 2017-05-19 12:40:03 +02:00
Goffi
97c3333418 plugin invitations: on modify an empty value delete corresponding extra keys, and reserved keys are now ignored. 2017-05-19 12:37:54 +02:00
Goffi
48100ac776 jp (uri): new command to parse or generate XMPP URIs 2017-05-19 12:34:33 +02:00
Goffi
4ea36624a2 jp (pubsub/uri): fixed URI generation 2017-05-19 12:33:54 +02:00
Goffi
1cfd34c38d core (tools/utils): added method to parse XMPP dates 2017-05-19 12:33:11 +02:00
Goffi
c8b4b77908 jp: fixed progress 2017-05-04 00:36:03 +02:00
Goffi
a5bc67ef6a jp (event): event handling commands, first draft 2017-04-27 01:02:05 +02:00
Goffi
e12e25d1bf jp: added use_pubsub and use_pubsub_node_req arguments to CommandBase
pubsub add --node and --service arguments
    pubsub_node_req add --service and a positional node argument (i.e. mandatory)
2017-04-27 01:01:43 +02:00