Commit graph libervia-backend/frontends/src/jp
Author SHA1 Message Date
Goffi
a28bb7be8f merged main branch 2016-06-24 22:41:28 +02:00
Goffi
fe8187a413 jp (blog): fixed syntax detection when extension is .txt 2016-06-24 22:32:58 +02:00
Goffi
a7de473107 backend, frontends: message refactoring (huge commit):
/!\ several features are temporarily disabled, like notifications in frontends

next step in refactoring, with the following changes:
    - jp: updated jp message to follow changes in backend/bridge
    - jp: added --lang, --subject, --subject_lang, and --type options to jp message + fixed unicode handling for jid
    - quick_frontend (QuickApp, QuickChat):
        - follow backend changes
        - refactored chat, message are now handled in OrderedDict and uid are kept so they can be updated
        - Message and Occupant classes handle metadata, so frontend just have to display them
    - Primitivus (Chat):
        - follow backend/QuickFrontend changes
        - info & standard messages are handled in the same MessageWidget class
        - improved/simplified handling of messages, removed update() method
        - user joined/left messages are merged when next to each other
        - a separator is shown when message is received while widget is out of focus, so user can quickly see the new messages
        - affiliation/role are shown (in a basic way for now) in occupants panel
        - removed "/me" messages handling, as it will be done by a backend plugin
        - message language is displayed when available (only one language per message for now)
        - fixed :history and :search commands
    - core (constants): new constants for messages type, XML namespace, entity type
    - core: *Message methods renamed to follow new code sytle (e.g. sendMessageToBridge => messageSendToBridge)
    - core (messages handling): fixed handling of language
    - core (messages handling): mes_data['from'] and ['to'] are now jid.JID
    - core (core.xmpp): reorganised message methods, added getNick() method to client.roster
    - plugin text commands: fixed plugin and adapted to new messages behaviour. client is now used in arguments instead of profile
    - plugins: added information for cancellation reason in CancelError calls
    - plugin XEP-0045: various improvments, but this plugin still need work:
        - trigger is used to avoid message already handled by the plugin to be handled a second time
        - changed the way to handle history, the last message from DB is checked and we request only messages since this one, in seconds (thanks Poezio folks :))
        - subject reception is waited before sending the roomJoined signal, this way we are sure that everything including history is ready
        - cmd_* method now follow the new convention with client instead of profile
        - roomUserJoined and roomUserLeft messages are removed, the events are now handled with info message with a "ROOM_USER_JOINED" info subtype
    - probably other forgotten stuffs :p
2016-06-20 18:41:53 +02:00
Goffi
a9aa17f2d0 jp: fixed shebang python call 2016-06-19 22:22:08 +02:00
Goffi
6bbcbaf522 use of /usr/bin/env instead of /usr/bin/python in shebang 2016-04-17 14:45:26 +02:00
souliane
edb31e2d74 plugin adhoc_dbus, jp (cmd/adhoc): fixes adHocDBusAddAuto when no bus is found
fix bug 134
2016-04-17 13:37:40 +02:00
souliane
4408147e2d jp (cmd/roster): fixes division by zero exceptions
fix bug 135
2016-04-17 13:00:44 +02:00
Goffi
f600da971e jp (blog/edit): use utf-8-sig to decode content file to avoid BOM being propaged to content 2016-03-25 15:32:43 +01:00
Goffi
24be8976ef jp (blog/edit): added forgotten O_TRUNC while opening metadata file 2016-03-25 12:06:50 +01:00
Goffi
c951dea64b jp (blog/edit): do not remove files if they are not in the temporary dir hierarchy 2016-03-25 11:45:57 +01:00
Goffi
c3ae32be42 jp (blog/edit): HTTP(S) and XMPP URLs can now be directly used in blog/edit command 2016-03-24 18:38:04 +01:00
Goffi
e3623e67ef jp (blog): force deletion (without backup) when content is empty 2016-03-22 23:33:55 +01:00
Goffi
9d304eec88 jp (blog): avoid conflict error when command line tags are already present in metadata 2016-03-22 23:33:31 +01:00
Goffi
2fd6fa663c jp (blog): drafts are now put in a sub dir per profile + added a security which keep the last 10 drafts before removing them (all profiles included). 2016-03-22 22:46:05 +01:00
Goffi
2d1d286be2 core (tools): moved common to a separate package, and put data method in a data_format module 2016-03-22 22:46:04 +01:00
Goffi
d0fb849398 jp: fixed traceback shown on a normal quit when a progression is finished 2016-03-21 19:44:16 +01:00
Goffi
9782588177 jp (blog): added "updated" to keys to keys to remove from tmp metadata 2016-03-15 16:25:42 +01:00
Goffi
7ebae7c89a jp (blog/edit): removed meta_file_path non existence check, as it is now re-used if it exists 2016-03-10 19:13:42 +01:00
Goffi
3ab15a6aee jp (blog/edit): a draft file can be directly specified 2016-03-10 18:05:37 +01:00
Goffi
27cd8412d5 plugin XEP-0060: fixed traceback if service was None 2016-03-10 17:50:17 +01:00
Goffi
1fc8580831 jp: added consts for exit codes, not used yet 2016-04-23 23:30:06 +02:00
Goffi
b8e62dd69c jp: --output option:
- new --output option can be added wich use_output. use_output can be True (in which case it wild default to C.OUTPUT_TEXT), or any of C.OUTPUT_TYPES (currently text, list and dict)
    - output change the output format mainly to make command result parsing more easy, but it can also be use to add fancy effects (like coloration)
    - outputs are added with plugins in the same way as commands (import of both is done in the same method)
    - in the command class, output need to be declared with use_output=C.OUTPUT_xxx, then the data only need to be processed with self.output(data)
    - outputs can have description (not used yet)
    - use_xxx argument handling has been refactored (minor refactoring) to be more generic
    - first outputs are "default", "json" (pretty printed) and "json_raw" (compact json)
    - the first command to use them is "profile list"
2016-04-23 23:10:03 +02:00
Goffi
bf45c1d91c jp: forgotten shebang fixes 2016-04-19 20:09:02 +02:00
souliane
ce507c49da frontends (jp / blog): pass the profile to subprocess when using option --preview 2016-03-07 19:58:33 +01:00
Goffi
fe340c0135 jp (blog/preview): change watch for IN_MOVE_SELF event, needed at least for Emacs 2016-03-07 19:43:02 +01:00
Goffi
cf588d3e74 jp (blog/edit): added a confirmation message when blog item has been successfuly published 2016-03-05 20:19:40 +01:00
Goffi
f74fd5552a blog (jp/edit): added --preview option to launch a "blog preview" in parallel 2016-03-05 20:19:17 +01:00
Goffi
8839f38813 jp (blog/preview): inotify improvments:
- InotifyError are catched (can happen if file is deleted during preview for instance)
    - handle IN_DELETE_SELF event which happen when editor write content in a new file and switch to it (tested with vim)
2016-03-05 19:24:10 +01:00
Goffi
63b26aad8f jp (blog/preview): open and preview commands can be changed in sat.conf with "blog_preview_open_cmd" and "blog_preview_update_cmd" in [jp] section + don't convert syntax when content is empty 2016-03-05 19:21:35 +01:00
Goffi
4b941591c5 jp: moved KeyboardInterrupt catch one level higher, so it is also catched if the loop is not started 2016-03-05 18:00:56 +01:00
Goffi
49f2646315 jp (blog): fixed syntax guessing on existing files 2016-03-05 18:00:12 +01:00
Goffi
e2eb4672b0 jp (blog/preview): added inotify support, so preview can be updated each time the file is modified (actually IN_CLOSE_WRITE is used, but this may change in the future) 2016-03-05 17:59:10 +01:00
Goffi
d34f3ab948 jp (blog/preview): xhtml cleaning is now used on preview 2016-03-05 15:43:14 +01:00
Goffi
75d78137ab jp (file): fixed bad quit call 2016-03-05 13:17:29 +01:00
Goffi
ad7e88ebf5 jp (blog): moved common method in a BlogCommon class + added "current" as an item keyword for blog/edit 2016-03-04 11:22:41 +01:00
Goffi
f9d691fd26 jp (blog/edit): metadata file is reused if it already exists 2016-03-04 10:33:28 +01:00
Goffi
7428b57ac7 jp (blog): preview command, first draft 2016-03-03 18:28:53 +01:00
souliane
a278dfc841 jp (blog): add to EDITOR_ARGS_MAGIC parameters for (x)emacs and nano 2016-03-03 17:02:23 +01:00
Goffi
5704cb4586 jp (blog/edit): editor arguments can now be specified on sat.conf, and default on are applied for known editors:
- vim and gvim will open content and metadata file in a splitted window
    - gvim use --nofork option
    - installed a workaround for shlex.split not handling unicode before Python 2.7.3
    - some fixes
2016-03-03 15:57:06 +01:00
Goffi
f993fa07df jp (blog/edit): removed content_rich from KEY_TO_REMOVE_METADATA as it is never given by backend 2016-03-02 19:53:53 +01:00
Goffi
41f19f63ec base (blog/edit): added a way to block publishing by adding "publish": "false" in metadata file 2016-03-02 19:46:01 +01:00
Goffi
b67ee6bb47 jp (base): fixed Jp.quit when exit code is 0 2016-03-02 19:45:02 +01:00
Goffi
272d6f84d6 jp (blog/edit): added metadata handling through a .json file (named like content temporary file, but with extension replaced by "_metadata.json"). Modification to this file before the end of edition will be taken into account. 2016-03-02 19:18:14 +01:00
Goffi
dc8f07aec4 jp (blog): edit command, first draft:
- can edit a new or existing item, by default edit a new item
    - item are selected with a shortcut, for now only "new" and "last" are handled. URI handling is planed, specially xmpp: URIs
    - file are edited using EDITOR env variable, or editor in [jp] section in sat.conf
    - current syntax is used, file extension is choosed according to syntax, to make syntax coloration and other goodies in editor available
    - if file is empty or not modified, nothing is published
    - for now, title, tags and commend desactivation are handled with optional arguments, but other are planed, and a metadata system should come soon
2016-03-01 01:54:21 +01:00
Goffi
169bc43793 jp: all commands now use the new start method and set need_loop in __init__ when needed 2016-02-29 16:52:51 +01:00
Goffi
89f6fe8605 jp (base): refactored need_loop so it is set only when the command is run. It can now be set in __init__ methods of commands classes 2016-02-29 16:52:51 +01:00
Goffi
19bdc872c6 jp (base): added a CommandBase.start method which is called by run or connected, so subclasses can implement it (this is for simplicity sake, as it's not always clear if run or connected must be used) 2016-02-29 16:52:51 +01:00
Goffi
5a81941c33 jp (profile): added confirmation and --force arguement to profile/delete 2016-02-29 16:52:51 +01:00
Goffi
fea3296b89 jp (base): use need_connect attribue to detect if connection is needed instead of self.args.profile, as profile argument can be used by any command even if use_profile is False 2016-02-29 16:52:51 +01:00
souliane
c18f64f4fb frontends (jp): onActionNew displays xmlui message if no meta_type is defined and xmlui is defined 2016-02-04 11:48:37 +01:00