Commit graph libervia-backend/sat_frontends/jp
Author SHA1 Message Date
Goffi
e1a44cf4e4 fixed shebangs 2020-01-29 10:07:00 +01:00
Goffi
a39349fe64 dates update 2020-01-29 09:50:54 +01:00
Goffi
87659cf0f0 core (memory/params): added extra argument to filter out params notably in getParamsUI:
In some case, it may be desirable for a frontend to not expose some parameters to user
(e.g. it is the case on Android with the `autoconnect_backend` parameter). An new `extra`
parameter has been added to a couple of parameters method for that: it can contain the
`ignore` key with a list of [category, name] of parameters to skip.
2020-01-25 21:08:40 +01:00
Goffi
610a8ff10b jp (profile): added --autoconnect argument in modify and create + use output in info 2020-01-25 21:08:39 +01:00
Goffi
da3b7b5fea jp (common): various Table fixes:
- renamed fromDict to more accurate fromListDict
- fixed handling of None filter in fromListDict
- fixes show_header when no header exist
- escape headers when using namedtuple, so it won't fail
2020-01-25 21:08:37 +01:00
Goffi
7dd0df7f41 core, bridge: encryptionPluginsGet now returns a serialised list + added "directed" in metadata 2019-12-30 20:44:04 +01:00
Goffi
b7a74d5034 plugin XEP-0060, jp (pubsub/set): publish-options implementation:
- publishing options (XEP-0060 §7.1.5) implementation.
- jp pubsub/set can specify publish-options using `-f` and `-F`
- doc has been updated to explain that
- psItemSend and psItemsSend now use serialisation for "extra"
- publish-options can be specified in extra['publish-options'] with those methods
2019-12-28 20:02:18 +01:00
Goffi
1eee84c8f3 jp (blog): added --language to common publish argument 2019-12-20 14:23:42 +01:00
Goffi
2d49de9209 jp (file): new get command + encryption with upload:
- new file/get command let download a file from URL. It handles `aesgcm:` scheme by
thanks to backend decryption on the fly.
- new `--encrypt` option for upload. When used, the file will be encrypted using AES-GCM
  algorithm, and the `aesgcm:` URL will be returned
- for both commands, the XMLUI note is displayed in case of error
2019-12-20 12:28:04 +01:00
Goffi
5c1dd0da49 jp (xmlui_manager): use level for notes:
display notes in specific colors according to level, and use stderr for warnings and
errors.
2019-12-20 12:28:04 +01:00
Goffi
edbee4d719 plugin upload, XEP-0363: code modernisation + preparation for extension:
- use of async/await syntax
- fileUpload's options are now serialised, allowing non string values
- (XEP-0363) Slot is now a dataclass, so it can be modified by other plugins
- (XEP-0363) Moved SSL related code to the new tools.web module
- (XEP-0363) added `XEP-0363_upload_size` and `XEP-0363_upload` trigger points
- a Deferred is not used anymore for `progress_id`, the value is directly returned
2019-12-20 12:28:04 +01:00
Goffi
7f66a2f154 jp (file/upload): fixed exception when no jid is specified 2019-11-08 11:47:42 +01:00
Goffi
4e9b0f0d54 jp: default to "dark" if background is not set and can't be detected 2019-10-03 22:17:19 +02:00
Goffi
36ccde03b9 jp: password is now prompted if needed:
if password is not specified on command line, it is now prompted if it is needed to start
a profile session or connect it. The password is prompted with echo disabled, so somebody
seing the computer screen can't see the password.

fix 207
2019-10-01 22:49:11 +02:00
Goffi
5a2d7e2943 jp (debug): new "theme" command to print colour theme according to background value:
fix 321
2019-10-01 22:49:11 +02:00
Goffi
1efb60a429 jp: dark and light theme:
- `background` setting can now be used in sat.conf to indicate if the terminal use a
  `dark` or a `light` colour
- if `background` is not set or set to `auto`, the background colour is autodetected
- Jp.get_config (or CommandBase.get_config) method can now be used to retrieve a setting
2019-10-01 22:49:10 +02:00
Goffi
c61f6237a4 jp: handle dbus bridge with asyncio:
D-Bus bridge is now working again, using the new AsyncIO version. To make it work, the
GLib loop is run in a separated thread.

Loops have been moved to the `loops` module.
2019-10-01 22:49:10 +02:00
Goffi
76aadbb3fb jp: jp asyncio port:
/!\ this commit is huge. Jp is temporarily not working with `dbus` bridge /!\

This patch implements the port of jp to asyncio, so it is now correctly using the bridge
asynchronously, and it can be used with bridges like `pb`. This also simplify the code,
notably for things which were previously implemented with many callbacks (like pagination
with RSM).

During the process, some behaviours have been modified/fixed, in jp and backends, check
diff for details.
2019-09-25 08:56:41 +02:00
Goffi
b8e9212b8d jp (common): fixed draft path use in BaseEdit 2019-08-26 09:14:58 +02:00
Goffi
fbfe96c505 Python 3 port:
/!\ this is a huge commit
/!\ starting from this commit, SàT is needs Python 3.6+
/!\ SàT maybe be instable or some feature may not work anymore, this will improve with time

This patch port backend, bridge and frontends to Python 3.

Roughly this has been done this way:

- 2to3 tools has been applied (with python 3.7)
- all references to python2 have been replaced with python3 (notably shebangs)
- fixed files not handled by 2to3 (notably the shell script)
- several manual fixes
- fixed issues reported by Python 3 that where not handled in Python 2
- replaced "async" with "async_" when needed (it's a reserved word from Python 3.7)
- replaced zope's "implements" with @implementer decorator
- temporary hack to handle data pickled in database, as str or bytes may be returned,
  to be checked later
- fixed hash comparison for password
- removed some code which is not needed anymore with Python 3
- deactivated some code which needs to be checked (notably certificate validation)
- tested with jp, fixed reported issues until some basic commands worked
- ported Primitivus (after porting dependencies like urwid satext)
- more manual fixes
2019-08-13 19:08:41 +02:00
Goffi
fb58a375f8 jp (blog/preview): fixed watch restoring when file is moved/deleted:
with some editors (e.g. vim), when file is written it is actually replaced with a buffered
one. In this case, jp replace the watch to check the new file, but it was not working
anymore with latest version of inotify module. This patch fixes it by removing the old watch
before adding a new one.
2019-07-12 11:29:05 +02:00
Goffi
1e327c01e1 Backed out changeset cf0dda0d4cda
check_output can't be used as it's waiting for command to return, blocking the edition.
2019-07-12 09:04:45 +02:00
Goffi
a6b4c9c56a jp (blog/edit): fail and show error message if --preview is not working 2019-07-12 08:55:41 +02:00
Goffi
cdba0078b8 jp (blog/preview): fixed call to getCurrentFile 2019-06-27 20:24:14 +02:00
Goffi
540c95f133 jp (xmlui): check root read_only status in addition to widget one 2019-06-14 12:49:45 +02:00
Goffi
700e46e737 jp (xmlui): fixed encoding for raw_input in StringWidget 2019-06-14 12:49:44 +02:00
Goffi
481ce4c379 plugins schema, tickets, merge_requests: use serialised data for extra dict + some cosmetic changes 2019-06-14 12:37:34 +02:00
Goffi
d694599d69 jp (blog/edit): fixed --last-item after recent change in defaut value of --item 2019-05-05 18:50:38 +02:00
Goffi
9a50da7f07 jp (blog/set): fixed missing current_syntax 2019-05-05 18:50:35 +02:00
Goffi
987d808896 jp (blog): fixed the deserialisation issue when using template output 2019-05-05 18:50:32 +02:00
Goffi
4f9f003075 jp (xmlui manager): basic handling of multi-lines text in TextBoxWidget 2019-05-03 20:49:27 +02:00
Goffi
bf9284cf06 jp (file/invite): added a --thumbnail argument 2019-05-03 13:05:47 +02:00
Goffi
97563c3f25 jp (file/share): added invite command to invite an entity to a file sharing repository 2019-04-14 08:21:51 +02:00
Goffi
d85f1b364f jp, plugin merge-requests: used u'' as default for item id in pubsub arguments + fixed some required arguments:
u"" is now used as defaut item id instead of node, as it needs to be serialised anyway. This is temporary solution, as empty string can be used for item id (not forbidden by XEP-0060), but for now this is not handled correctly in jp/SàT (see https://bugs.goffi.org/bugs/view/289). Correct solution will probably need to use a special key in extra to mark empty string in id.
Added/removed some required values for node or item when it made sense.
2019-04-14 08:21:51 +02:00
Goffi
5dda9f6857 jp (common): publish is now a boolean 2019-04-10 22:15:29 +02:00
Goffi
8c6be44375 jp (roster): added resync command to do a full roster resynchronisation 2019-04-07 18:50:13 +02:00
Goffi
2f4651d22b jp (avatar/get): fixed avatar being displayed 2 times in a corner case:
when avatar is shown by ImageMagick's display and it is terminated using SIGINT, the return code is 2 and not 0.
Before this patch, jp was interpreting the 2 as an image not displayed and so was trying with the next available command
Now it is stopping when exit code 2 is received.
2019-04-05 21:22:05 +02:00
Goffi
6ec0f5a506 jp (blog/set): fixed use of --item argument 2019-03-25 18:40:10 +01:00
Goffi
db06965385 jp (blog/edit): fixed handling of XHTML content when it is not already wrapped in <div>…</div> 2019-03-25 07:06:48 +01:00
Goffi
b2ce9a8725 jp (message/mam): --start doesn't defaut anymore to "1 day ago", it is now unset by default 2019-03-01 14:45:50 +01:00
Goffi
f3a585aa94 jp (message/mam): added missing RSM options 2019-03-01 12:11:16 +01:00
Goffi
39025b9f15 jp (blog/edit): changed comments handling:
"-C" now allow comment and "--no-comments" explicitly disable it. This way when none of this option is used, the current state of the item is kept without deleting accidentaly the comments node.
2019-02-23 19:00:25 +01:00
Goffi
512ae0b91e plugin XEP-0277: blog items data are now entirely serialised before going to bridge:
So far, and for historical reasons, blog items data where serialised using a unicode: unicode dict, which was causing trouble for many types of values (timestamps, booleans, lists).
This patch changes it by serialising the whole items before going to bridge, and deserialising it when going back. This way, complex data can be used easily in items.
This impact psEvent and serItemsData* methods which are renamed transItemsData* because there are not always serialising anymore (a new argument "serialise" allows to specify it).
When editing a blog post in jp, metadata are now more easy to manipulate, specially lists like tags.
2019-02-23 18:59:00 +01:00
Goffi
d8ab8b76f8 jp(pubsub): minor code style fixes 2019-02-15 22:24:57 +01:00
Goffi
bb5a2befc5 jp (pubsub/node): new "import" command, to publish many nodes from an XML file 2019-02-15 22:13:43 +01:00
Goffi
d747c46736 jp (pubsub/transform): use new psItemsSend method, it is not needed anymore to send items one by one when --admin is not used 2019-02-15 22:13:43 +01:00
Goffi
83f97b600c jp (pubsub/node): added purge command 2019-02-15 22:13:43 +01:00
Goffi
37ea73b19f frontends, jp, templates: added XHTMLBox widget:
for jp, the XHTML is rendered for now using markdown.
2019-01-19 11:39:02 +01:00
Goffi
bbdf716d93 jp (pubsub): new "transform" command:
This command allows to pass all requested items through an external command to filter them (i.e. modify their content).
- created new jp.xml_tools module with some common functions (like lxml parsing)
- new EXIT code EXIT_CMD_ERROR (used when a third party utility returns an error)
2019-01-15 08:51:56 +01:00
Goffi
0dad996942 jp (base): fixed default values for --max-items and --max when using pubsub 2019-01-12 16:50:58 +01:00