Commit graph libervia-backend/frontends/src/jp/cmd_profile.py
Author SHA1 Message Date
Goffi
80ef13612b core, setup: huge cleaning:
- moved directories from src and frontends/src to sat and sat_frontends, which is the recommanded naming convention
- move twisted directory to root
- removed all hacks from setup.py, and added missing dependencies, it is now clean
- use https URL for website in setup.py
- removed "Environment :: X11 Applications :: GTK", as wix is deprecated and removed
- renamed sat.sh to sat and fixed its installation
- added python_requires to specify Python version needed
- replaced glib2reactor which use deprecated code by gtk3reactor

sat can now be installed directly from virtualenv without using --system-site-packages anymore \o/
2018-04-02 19:44:50 +02:00
Goffi
195f30b4d5 jp (profile/create): errback handling 2018-02-28 18:28:39 +01:00
Goffi
387c10cc0d dates update 2018-01-26 11:14:13 +01:00
Goffi
f5f25e8ab5 misc: date update (yes it's a bit late :p ) 2017-11-03 14:31:42 +01:00
Goffi
eebf6e50e7 jp (profile): added disconnect command 2017-08-20 10:26:10 +02:00
Goffi
55b6199997 jp (pubsub/node): added create and delete commands 2017-04-03 00:23:01 +02:00
Goffi
2e9404421a jp (profile): fixed help gettext calls 2017-03-09 23:10:17 +01:00
Goffi
03d8930672 jp (profile/list): fixed options help 2017-03-09 00:06:13 +01:00
Goffi
085ed041e7 core, bridge: renamed getProfileName to profileNameGet according to new conventions 2017-03-05 21:36:01 +01:00
Goffi
a1def7f8f0 jp (blog): set default template and data mapping for the new template output 2017-02-21 21:01:40 +01:00
Goffi
85f3bd5988 core, frontends: getProfilesList renamed to profilesGetList + behaviour change:
- profilesGetList now handles clients and components boolean arguments, to filter profiles
    - jp: added --clients and --components options to profile/list
    - profilesGetList now returns sorted profiles
2017-02-12 19:08:52 +01:00
Goffi
97337202cb core, jp: component handling + client handling refactoring:
- SàT can now handle components
    - plugin have now a "modes" key in PLUGIN_INFO where they declare if they can be used with clients and or components. They default to be client only.
    - components are really similar to clients, but with some changes in behaviour:
        * component has "entry point", which is a special plugin with a componentStart method, which is called just after component is connected
        * trigger end with a different suffixes (e.g. profileConnected vs profileConnectedComponent), so a plugin which manage both clients and components can have different workflow
        * for clients, only triggers of plugins handling client mode are launched
        * for components, only triggers of plugins needed in dependencies are launched. They all must handle component mode.
        * component have a sendHistory attribute (False by default) which can be set to True to allow saving sent messages into history
        * for convenience, "client" is still used in method even if it can now be a component
        * a new "component" boolean attribute tells if we have a component or a client
        * components have to add themselve Message protocol
        * roster and presence protocols are not added for components
        * component default port is 5347 (which is Prosody's default port)
    - asyncCreateProfile has been renamed for profileCreate, both to follow new naming convention and to prepare the transition to fully asynchronous bridge
    - createProfile has a new "component" attribute. When used to create a component, it must be set to a component entry point
    - jp: added --component argument to profile/create
    - disconnect bridge method is now asynchronous, this way frontends can know when disconnection is finished
    - new PI_* constants for PLUGIN_INFO values (not used everywhere yet)
    - client/component connection workflow has been moved to their classes instead of being a host methods
    - host.messageSend is now client.sendMessage, and former client.sendMessage is now client.sendMessageData.
    - identities are now handled in client.identities list, so it can be updated dynamically by plugins (in the future, frontends should be able to update them too through bridge)
    - profileConnecting* profileConnected* profileDisconnected* and getHandler now all use client instead of profile
2017-02-12 17:55:43 +01:00
Goffi
a28bb7be8f merged main branch 2016-06-24 22:41:28 +02:00
Goffi
a9aa17f2d0 jp: fixed shebang python call 2016-06-19 22:22:08 +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
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
5a81941c33 jp (profile): added confirmation and --force arguement to profile/delete 2016-02-29 16:52:51 +01:00
Goffi
348be27934 copyright update 2016-01-03 16:28:30 +01:00
souliane
030f20f7d8 jp (profile): fixed creating profile with given JID and XMPP password 2015-11-30 09:25:23 +01:00
Goffi
e652a2e86f jp (profile): fixed profile/modify command:
- profile modify was resetting profile password if the option was not used
     - str types where used instead of unicode decoder
     - a new option allow to disable profile password (mutually exclusive with --password)
     - XMPP password was broken in a similar way as profile password
2015-11-26 15:49:58 +01:00
Goffi
4826320188 jp: added profile/connect command 2015-11-14 19:19:04 +01:00
Goffi
1aecdcf2e9 jp: better profile commands:
- new "profile/default" command
    - info doesn't show password anymore by default, need to be explicitly requested
    - info and modify don't need to connect anymore
    - modify can now set default profile. As use_profile is set, at least a profile session need to be started when it would not be mandatory technicaly (if just setting the profile as default is needed). But this option should not be used often, and it's not a big side effect, so I don't feel the need to create a new dedicated command, or to do complicated checks to avoid the session start.
2015-11-14 19:18:10 +01:00
Goffi
0a8918bcef jp (profile): added "profile modify" command 2015-04-06 17:36:53 +02:00
Goffi
84e6b89f2f jp (profile): in "profile create", jid and password arguments are now optional + added a new --xmpp-password option to set XMPP password separately (default to the same password as for profile). 2015-04-06 17:36:21 +02:00
Goffi
1bbe4c6921 jp (profile): fixed "profile info" to use profile, and then manage connection. 2015-04-06 17:32:28 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
Matteo Cypriani
71e29f5c44 misc: fixed some typos 2014-09-15 14:18:25 +02:00
souliane
987cfbf89d move sat.tools.jid to sat_frontends.tools.jid 2014-08-26 12:52:46 +02:00
souliane
83ed5f319c core, plugins, stdui, frontends: fixes handling of "Force server" and "Force port" parameters:
- do not save a "guessed" value, they must stay empty until the user explicitely sets them
    - add constant XMPP_C2S_PORT (default value 5222)
2014-06-23 10:23:13 +02:00
souliane
d4eff5b99c core, memory, plugins, stdui, frontends: look for DNS SRV records when server is not specified:
- fix bug 3
    - modify "Connection" params:
          - rename "Server" to "Force server" and "Port" to "Force port"
          - set the default value to empty string for both
2014-06-23 00:44:10 +02:00
souliane
6a7f88858e jp: option '-c' is not longer a flag but a string to define the profile password:
- no '-c': same behavior as before, do not connect the profile
- '-c' with not following value: autoconnect and use the default value '' as profile password
- '-c' with a following value: autoconnect and use that value as profile password

Note that previous scripts may not work. For example, even if the profile password for "test1" is empty:
  jp disco -p test1 -c contact@host.net
must be changed to:
  jp disco -p test1 -c -- contact@host.net
Otherwise, argparse will think that "contact@host.net" is the password and that the target JID is missing.
2014-05-07 16:10:20 +02:00
souliane
d158589881 core, frontends: add method asyncDeleteProfile, remove synchronous methods createProfile and deleteProfile 2014-03-03 09:59:10 +01:00
Goffi
7ca3c657f4 jp: refactoring:
- imports from sat_frontends.jp instead of local imports
    - added __init__.py
    - commands now inherits from a base class: each base.CommandBase instance is a subcommand
    - new arguments are added in CommandBase.add_parser_options methods, starting point si CommandBase.run or CommandBase.connected if a profile connection is needed
    - commands are exported using a __commands__ variable at the top of the module
    - sub-subcommand are easily added by using an other CommandBase instance as parent instead of using a Jp instance. In this case, the parent subcommand must be the one exported, and have a subcommands iterable (see cmd_file or cmd_pipe for examples).
    - options which are often used (like --profile) are automatically added on demand (use_profile=True, use_progress=True)
    - commands are automatically loaded when there are in a module named cmd_XXX
    - restored --connect option
    - restored progress bar
    - restored getVersion bridge call on jp --version
    - fixed file and pipe commands
    - fixed forgotten translations
    - fixed non SàT compliant docstrings
    - better about/version dialog
2014-02-10 13:44:09 +01:00