Commit graph libervia-backend/frontends/src/jp/base.py
Author SHA1 Message Date
Goffi
348be27934 copyright update 2016-01-03 16:28:30 +01:00
Goffi
11d7dfa8fe jp (base): progressStarted signals are cached until progress_id is known, this avoid missing the progression if we have the signal before the id. 2015-11-22 17:37:19 +01:00
Goffi
698dcc2415 jp (base): fixed verbose option + there is a new line on ProgressErrorHandler only if the progress bar is actually displayed 2015-11-22 17:35:32 +01:00
Goffi
7c340bb518 jp (base, file): use of new progress API. Progress callbacks are managed through CommandBase.onProgress* method instead of host attributes. 2015-11-19 18:13:26 +01:00
Goffi
09619e6723 jp: use the new actionsGet method 2015-11-17 21:29:03 +01:00
Goffi
6d2df889a1 jp (base, file): file command and progress fixes and adaptation to new API:
- progress use new API, and signals to monitor progression and avoid use of progressGet before progress is actually started
    - progress behaviour on event is managed by callbacks which are Jp attributes
    - progress with unknown or 0 size don't show the progress bar
    - better handling of errors
    - CommandAnswering is update to manage actions instead of the deprecated askConfirmation
    - managed actions use callback easy to associate with an action type.
    - file command is updated to manage these changes and the recent changes in backend behaviour
    - verbosity is used to display more or less message when sending/receiving a file
    - destination path can be specified in file receive
    - file receive doesn't stop yet, still need some work in the backend
2015-11-15 23:42:21 +01:00
Goffi
4233150d7b jp (base): added a self.disp method which manage verbosity and stderr + verbosity property 2015-11-15 23:25:58 +01:00
Goffi
8477d22012 jp (base): added quitFromSignal method to quit from signal handler with errcode without traceback, and addOnQuitCallback to manage cleaning callbacks 2015-11-15 23:16:54 +01:00
Goffi
891a4c33af jp: added a --verbose command 2015-11-14 19:54:27 +01:00
Goffi
22696ec80b jp: profile session can now be started without connection:
- a new need_connect option is used when during BaseCommand init
    - if need_connect is True, profile connection is necessary, so use_profile must be True too
    - if need_connect if False, session can be started without connection, use_profile must be True
    - if need_connect is None, use_profile can be True (need_connect will be set to True) or False (need_connect is not used)
    - if need_connect is False (and so use_profile is True), a new --start-session option is usable
    - param get and set are the first commands to use this option, so parameters can be changed if connection is not working
2015-11-14 19:18:10 +01:00
Goffi
aa097525e3 jp: fixed bad --connect option check 2015-11-14 19:18:10 +01:00
Goffi
810a40c51c jp: separate password and connection of profile in --connect and --pwd arguments 2015-11-02 22:02:41 +01:00
Goffi
ffd6afcbb1 jp: fixed crash on commands using profile without "connect" option 2015-04-06 12:11:23 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
Goffi
e67b4bd9eb jp: fixed bad try/except hidding errors + fixed bad management of jids without node 2015-03-30 10:04:29 +02:00
Goffi
8ce5c1862b core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
/!\ not finished, everything is still instable !
    - bridge: DBus bridge has been modified to allow blocking call to be called in the same way as asynchronous calls
    - bridge: calls with a callback and no errback are now possible, default errback log the error
    - constants: removed hack to manage presence without OrderedDict, as an OrderedDict like class has been implemented in Libervia
    - core: getLastResource has been removed and replaced by getMainResource (there is a global better management of resources)
    - various style improvments: use of constants when possible, fixed variable overlaps, import of module instead of direct class import
    - frontends: printInfo and printMessage methods in (Quick)Chat are more generic (use of extra instead of timestamp)
    - frontends: bridge creation and option parsing (command line arguments) are now specified by the frontend in QuickApp __init__
    - frontends: ProfileManager manage a more complete plug sequence (some stuff formerly manage in contact_list have moved to ProfileManager)
    - quick_frontend (quick_widgets): QuickWidgetsManager is now iterable (all widgets are then returned), or can return an iterator on a specific class (return all widgets of this class) with getWidgets
    - frontends: tools.jid can now be used in Pyjamas, with some care
    - frontends (XMLUI): profile is now managed
    - core (memory): big improvment on entities cache management (and specially resource management)
    - core (params/exceptions): added PermissionError
    - various fixes and improvments, check diff for more details
2015-01-24 01:00:29 +01:00
souliane
987cfbf89d move sat.tools.jid to sat_frontends.tools.jid 2014-08-26 12:52:46 +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
Goffi
ec08d50aba jp: "disco" subcommand, moved into a new "info" subcommand + added "version" subcommand which get software version 2014-04-02 12:31:15 +02:00
Goffi
647487fc1d jp: using C.APP_URL for application url 2014-04-02 12:11:07 +02:00
Goffi
ba2bed39ab jp: fixed jid unicode decoding 2014-04-01 21:16:02 +02:00
Goffi
a0d69ae187 jp: fixed missing import 2014-04-01 21:15:35 +02:00
Matteo Cypriani
f0676dfa52 jp: updated main loop to gobject 3 2014-03-05 16:03:04 +01:00
souliane
b2f32986be frontends: fix typos, do not use logging in the xmlui tools: 2014-02-25 10:59:05 +01:00
Goffi
f31dd1adc0 jp: short option for progress is now -P instead of -g, so -g can be used for groups 2014-02-17 18:57:09 +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
Dal
f4de26e4e8 jp: refactoring using ArgParse 2014-02-05 14:35:26 +01:00