Commit graph libervia-backend/sat_frontends
Author SHA1 Message Date
Goffi
095ec0c71a jp (account): better exit code handling 2020-12-04 12:32:56 +01:00
Goffi
92e424e685 jp (roster): delete implementation 2020-11-12 14:53:16 +01:00
Goffi
df6428c14c jp (pubsub/node/info, pubsub/get): better exit code:
the correct exit code is now returned in case of NOT_FOUND or bridge exception. If the
exception is not a bridge exception, an internal error exit code is used.
2020-11-12 14:53:16 +01:00
Goffi
d818f1737b jp (base, pubsub/set): new --quiet argument:
`--quiet` can be used to only return essential data from command. This is notably useful
to remove message and trailing line feed when returning a data which must be parsed by an
other program.
2020-11-12 14:53:16 +01:00
Goffi
1d9d13dc04 jp: follow best practices and use a dash (-) instead of underscore (_) for long options. 2020-11-12 14:53:16 +01:00
Goffi
cc61784c2e jp (file/receive): display or answer to C.META_TYPE_NOT_IN_ROSTER_LEAK dialog:
when a file is proposed by an entity not in roster, the dialog asking for confirmation
is displayed. If the bare jid of the sender is explicitely waited (i.e. it's in
arguments), then the dialog is automatically confirmed.
2020-11-12 14:53:16 +01:00
Goffi
f1ec7b4d43 jp: new confirm method:
it completes `confirmOrQuit` method to ask confirmation without quitting.
2020-11-12 14:53:16 +01:00
Goffi
ed39d5340d jp (file/send): don't add main resource to bare jid anymore:
bare jid sending is now managed by backend (at least for Jingle), so resource must not be
added automatically anymore.
2020-11-12 14:53:16 +01:00
Goffi
f4c7f5e55e jp: replace no_lf argument by end in disp (same as in print) 2020-11-12 14:53:16 +01:00
Goffi
883a07c591 core (constants): moved shell exit code constants to core constants:
Well defined shell exit code are generally useful, not only for jp, thus constants have been
moved to core.
2020-11-12 14:53:15 +01:00
Goffi
4c2c9b4f04 jp: don't guess background when stdout is not a tty 2020-10-15 14:44:42 +02:00
Goffi
7b746a50a8 jp (application/list): don't use extend in argument as in it Python 3.8+ only 2020-10-01 10:12:01 +02:00
Goffi
fd34697ac8 jp (application): new application (or app) commands:
those commands allow to:

- list available SàT applications
- start an application
- stop an application
- display/get exposed values
2020-09-28 21:10:33 +02:00
Goffi
03cffe789c core: minor typos, docstring/comments update 2020-09-20 14:05:40 +02:00
Goffi
e60b64d876 plugin XEP-0313: fixed MAMGet signature 2020-09-17 10:46:13 +02:00
Goffi
4909433e83 jp (blog/edit): fixed edition when syntax is specified 2020-08-15 20:29:44 +02:00
Goffi
db286b98e4 jp (invitation): delete implementation 2020-08-13 23:46:18 +02:00
Goffi
81a11ba6d6 jp (file/share): added commands to manage affiliations and configuration + documentation 2020-08-01 16:25:50 +02:00
Goffi
f8b346e115 plugin XEP-0060: serialise psItemsGet result with data_format 2020-07-17 12:57:23 +02:00
Goffi
95096df52f plugins tickets, merge-requests: ticketsGet and mergeRequestsGet serialisation:
those methods now return data serialised with `data_format.serialise`
2020-07-16 09:07:26 +02:00
Goffi
e03eb5bfcc plugins XEP-0059, XEP-0060, XEP-0277, XEP-0313: better serialisation:
`data_format.serialise` is now used for `mbGet`, and RSM/MAM values are not transtyped to
strings anymore. A serialised dict is now used, items are put in the `items` key.

Comments handling has been refactored to use a list for the potentially multiple comments
nodes.

`rsm` data are now in a `rsm` key of the dict, and `mam` data are merged with other
metadata.
2020-07-16 09:07:20 +02:00
Goffi
85a3e6edfb jp (event): new list command to get evens available in a service 2020-05-18 23:48:40 +02:00
Goffi
e1abce602f jp (pubsub): fixed arguments returned when item has no payload 2020-05-18 23:43:06 +02:00
Goffi
47ec15cc46 core: image convertion + SVG support:
/!\ new optional dependency: CairoSVG (with installed `[SVG]` extra)

- new `convert` method in `tools.image` to save an image in an other format, with support
  for SVG (when CairoSVG is available)
- new `imageConvert` method is available for frontends
2020-04-19 16:53:44 +02:00
Goffi
7a2ab7c468 jp (roster): new roster/set command 2020-04-14 21:01:04 +02:00
Goffi
88072e0453 core, frontends: avatar refactoring:
/!\ huge commit

Avatar logic has been reworked around the IDENTITY plugin: plugins able to handle avatar
or other identity related metadata (like nicknames) register to IDENTITY plugin in the
same way as for other features like download/upload. Once registered, IDENTITY plugin will
call them when suitable in order of priority, and handle caching.

Methods to manage those metadata from frontend now use serialised data.

For now `avatar` and `nicknames` are handled:

- `avatar` is now a dict with `path` + metadata like `media_type`, instead of just a string
  path
- `nicknames` is now a list of nicknames in order of priority. This list is never empty,
  and `nicknames[0]` should be the preferred nickname to use by frontends in most cases.
  In addition to contact specified nicknames, user set nickname (the one set in roster) is
  used in priority when available.

Among the side changes done with this commit, there are:

- a new `contactGet` bridge method to get roster metadata for a single contact
- SatPresenceProtocol.send returns a Deferred to check when it has actually been sent
- memory's methods to handle entities data now use `client` as first argument
- metadata filter can be specified with `getIdentity`
- `getAvatar` and `setAvatar` are now part of the IDENTITY plugin instead of XEP-0054 (and
  there signature has changed)
- `isRoom` and `getBareOrFull` are now part of XEP-0045 plugin
- jp avatar/get command uses `xdg-open` first when available for `--show` flag
- `--no-cache` has been added to jp avatar/get and identity/get
- jp identity/set has been simplified, explicit options (`--nickname` only for now) are
  used instead of `--field`. `--field` may come back in the future if necessary for extra
  data.
- QuickContactList `SetContact` now handle None as a value, and doesn't use it to delete the
  metadata anymore
- improved cache handling for `metadata` and `nicknames` in quick frontend
- new `default` argument in QuickContactList `getCache`
2020-04-14 21:00:33 +02:00
Goffi
81de80348b bridge (pb): fixed conversions of Failure to BridgeException in non-AIO bridge 2020-04-01 15:40:29 +02:00
Goffi
e2d9c7db4a bridge (dbus): fixed typo in log.warning 2020-04-01 15:32:18 +02:00
Goffi
09cb00b5b1 jp (blog/edit): --no-publish is a boolean option 2020-03-31 08:45:49 +02:00
Goffi
658da6abe4 quick frontend (app): fixed argument order in messageSend default errback 2020-03-23 17:53:29 +01:00
Goffi
741bd88a19 quick frontend (chat): added encrypted property 2020-03-23 16:53:29 +01:00
Goffi
e0a5e96b16 jp (xmlui): added missing disp method in XMLUIPanel 2020-03-06 18:51:04 +01:00
Goffi
dced27f328 jp(info): devices command first draft:
this command gather data on known devices of an entity.
2020-03-06 18:19:03 +01:00
Goffi
5a467b15d5 core, bridge: new devicesInfosGet method to get infos on known devices of an entity 2020-03-06 18:19:03 +01:00
Goffi
d0df1d8aeb quick frontend(app): new QuickApp.profileConnected method 2020-03-06 18:19:03 +01:00
Goffi
3686d7e036 core, bridge: new imageGeneratePreview helped method to generate a thumbnail 2020-03-01 18:48:06 +01:00
Goffi
94fccd1176 quick frontend (app): avoid crash when a listener is removed while being called 2020-02-28 10:06:38 +01:00
Goffi
bd490c1d19 primitivus (chat) Q&D way to see attachments 2020-02-26 22:03:15 +01:00
Goffi
65dd411a2b quick frontend(contact list): new "isInRoster" method 2020-02-26 22:03:15 +01:00
Goffi
a194874638 bridge: messageSend's extra is now serialised 2020-02-21 12:17:38 +01:00
Goffi
3d8ef1d625 jp (blog/edit): added --no-publish argument. 2020-02-18 18:17:18 +01:00
Goffi
8812915d4e quick frontends (chat): handle attachments in Message 2020-02-18 18:17:18 +01:00
Goffi
6a7d247754 core: use serialised dict for extra in messageNew and historyGet 2020-02-18 18:13:17 +01:00
Goffi
aa203d4a49 quick frontends (widgets): added widgetNew and widgetDelete listeners:
- `widgetNew` is called when a brand new widget is created (not when a new instance is
  created if there is already an existing one)
- `widgetDelete` is called when all instances of a widget (with a given widget_hash) have
  been deleted.
2020-02-12 19:46:14 +01:00
Goffi
03204f56b9 quick frontends (app): added an "ignore_missing" argument to RemoveListener:
normally an error is logged when removeListener is call on a inexisting listener, but
sometimes listeners are added only in specific scenarios, and it may be handy to try to
delete them without having to explictly check that they have been used.
2020-02-12 19:44:05 +01:00
Goffi
0bbb13e6c4 quick frontend (app): replaced OrderedDict by regular dict:
since Python 3.7 dict are officially ordered, so there is no need to use a specific class
anymore.
2020-02-12 19:40:48 +01:00
Goffi
e8aaa9fd43 quick frontend(widget): added with_duplicates argument to getWidgets:
when this argument is False, widgets with the same widget_hash are filtered to only return
first one. It is True by default to keep former behaviour.
2020-02-12 19:38:32 +01:00
Goffi
697e91ff75 quick frontend(app): added listener for selected widget 2020-02-10 22:02:31 +01:00
Goffi
d684685e24 bridge: added methods to let frontends store/retrieve/delete private data 2020-02-10 22:01:53 +01:00
Goffi
5ef5f4aabf quick_frontend (app, widget): CagouWidget.onSelected is called when the widget is selected:
A property is now used to manage `selected_widget` in QuickApp, and widget's onSelected
method is called when suitable.
2020-02-09 23:50:21 +01:00