Commit graph libervia-backend/src/plugins/plugin_xep_0096.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
2e5991575f XEP-0065,XEP-0096,XEP-0166,XEP-0235,XEP-0300: file transfer improvments:
huge patch sorry :)

many things are improved by this patch, notably:
- updated to last protocol changes (urn:xmpp:jingle:apps:file-transfer:5 and urn:xmpp:hashes:2)
- XEP-0234: file request implementation
- XEP-0234: methods to parse and generate <file> element (can be used by other plugins easily)
- XEP-0234: range data is now in a namedtuple
- path and namespace can be specified when sending/requesting a file (not standard, but needed for file sharing)
- better error/termination handling
- trigger points to handle file requests by other plugins
- preparation to use file plugins with components
2018-02-28 18:28:39 +01:00
Goffi
60b8c8fa73 plugin pipe/stream, file transfert: refactoring and improvments:
this is a big patch as things had to be changed at the same time.

- changed methods using profile argument to use client instead
- move SatFile in a new tools.stream module, has it should be part of core, not a plugin
- new IStreamProducer interface, to handler starting a pull producer
- new FileStreamObject which create a stream producer/consumer from a SatFile
- plugin pipe is no more using unix named pipe, as it complicate the thing,
  special care need to be taken to not block, and it's generally not necessary.
  Instead a socket is now used, so the plugin has been renomed to jingle stream.
- bad connection/error should be better handler in jingle stream plugin, and code should not block anymore
- jp pipe commands have been updated accordingly

fix bug 237
2018-02-08 00:37:42 +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
ac7d587c49 core (plugins): added missing contants + use of new constants in PLUGIN_INFO 2017-02-12 18:59:10 +01:00
Goffi
0de4df1051 plugin XEP-0045, XEP-0054, XEP-0096: deprecated bridge method are not used anymore 2016-08-28 18:20:55 +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
7ca5b00183 plugin XEP-0096: add missing dependency to FILE plugin 2016-03-09 12:08:31 +01:00
Goffi
348be27934 copyright update 2016-01-03 16:28:30 +01:00
Goffi
6ee923f9ef plugin XEP-0363, upload: File upload (through HTTP upload only for now):
- HTTP upload implementation
    - if the upload link is HTTPS, certificate is checked (can be disabled on demand)
    - file can be uploaded directly, or a put/get slot can be requested without actual upload.
        The later is mainly useful for distant frontends like Libervia
    - upload plugin manage different upload methods, in a similar way as file plugin
    - download url is sent in progressFinished metadata on successful upload
2015-11-22 17:33:30 +01:00
Goffi
aaa3c32378 plugins XEP-0096, XEP-0260, file: sendFile method is managed by file plugin, which choose the best available method + progress_id fix 2015-11-14 19:18:05 +01:00
Goffi
ab910bebfe plugins XEP-0047, XEP-0065, XEP-0096: fixed use of failure.condition insteand of failure.value + removed gettext use for local logs 2015-11-13 16:46:31 +01:00
Goffi
dc0dbb149c plugins XEP-0020, XEP-0065, XEP-0095, XEP-0096: fixed file copy with Stream Initiation:
/!\ range is not working yet
    /!\ pipe plugin is broken for now
2015-11-11 18:19:49 +01:00
Goffi
c3ff0a1513 plugin XEP-0065, XEP-0096: preparation for plugin XEP-0260 implementation:
/!\ SI File Transfert (plugin XEP-0096) is temporarily broken
    /!\ proxy handling is temporarily broken
    plugin XEP-0096: use of Deferred for plugin XEP-0065 in the same way as for plugin XEP-0047
    plugin XEP-0065:
        - use of Deferred for sessions
        - plugin IP is a dependency
        - plugin NAT-PORT is used if available
        - everything is now automatic, params are disabled for now (may be re-used in the future to force port or proxy)
        - proxy infos are managed with a namedtuple
        - connexion candidates are managed with a dedicate class
        - priorities can be used for candidates, as needed for XEP-0260
        - transfer can now be managed in both direction, with client or server
        - socks5 server is launcher on demand, once for all profiles
        - helper methods to try and find best candidate
        - connection test and file transfer are done in 2 times
2015-11-02 22:02:41 +01:00
Goffi
7121b58961 plugin XEP-0047, XEP-0096: In-Band Bystream plugin cleaning:
- some renaming, comments improvments, etc
    - progress callback is no more managed here, as it will be managed by application
    - no more file data is used, beside file_obj
    - a proper Deferred is used instead of success and error callbacks
    - more clean error sending method
    plugin XEP-0096 has been updated to handle changes. Its temporarily partially broken though
2015-09-25 19:19:12 +02:00
souliane
67ff77e5de massive (preventive) addition of 'u' (unicode) before the strings passed to logging functions 2015-04-16 14:57:57 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
Goffi
45119d4d40 plugins XEP-0096, XEP-0065: fixed bad log calls 2014-09-08 15:50:51 +02:00
Goffi
8cd6bed824 plugin XEP-0096: fixed a bug introduced by the log refactoring 2014-04-20 11:51:48 +02:00
Goffi
501bc92528 core: use of the new core.log module:
/!\ this is a massive refactoring and was largely automated, it probably did bring some bugs /!\
2014-04-19 19:19:19 +02:00
Goffi
a6897c76e0 core, plugins: host.getClient now raise an exception instead of returning None when no profile is found, plugins have been adapted consequently and a bit cleaned 2014-03-28 18:07:02 +01:00
Goffi
005ec59a8a core: use of Const for profile_key + replaced '@DEFAULT@' default profile_key by '@NONE@' 2014-03-21 16:27:09 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
5a00dc9503 core: i18n refactoring:
- _() is no more installed in __builtin__
    - instead, there is a new sat.core.i18n module
    - added D_() method for deferred translation
    - languageSwitch method allow to dynamically change translation language
    - import gettext is tested against ImportError, and dummy methods are used when not available (mainly useful for Libervia)
2013-12-29 17:06:01 +01:00
Goffi
9fdc271294 jp: removed named argument for pipeOut, as it's not managed with dynamicaly added methods 2013-11-26 18:30:35 +01:00
souliane
f9bd9dd9b2 misc: a few "cosmetic" changes (PEP 8...) 2013-09-05 20:57:00 +02:00
Goffi
1cd98e8dea fixed licences in docstrings (they are now in comments) 2013-03-08 00:36:22 +01:00
Emmanuel Gil Peyrot
0dca274360 Fix pep8 support in src/plugins. 2013-01-18 17:55:35 +01:00
Emmanuel Gil Peyrot
88074cd284 Remove every old-style class. 2013-01-18 17:55:35 +01:00
Emmanuel Gil Peyrot
27b3592e16 Remove trailing whitespaces. 2013-01-18 17:55:34 +01:00
Emmanuel Gil Peyrot
6216bf7642 Remove useless trailing semicolons. 2013-01-18 17:53:08 +01:00
Goffi
def79e44cd dates update 2013-01-07 23:30:13 +01:00
Goffi
5327fecca3 plugin XEP-0096: restored XEP-0065 usage 2012-11-12 10:55:44 +01:00
Goffi
fa38394401 core, frontends, bridgen plugins: fixed methods which were unproperly managing multi-profiles
- added profile argument to askConfirmation, actionResult, actionResultExt, entityDataUpdated, confirmationAnswer, getProgress
    - core, frontends: fixed calls/signals according to new bridge API
    - user of proper profile namespace for progression indicators and dialogs
    - memory: getParam* now return bool when param type is bool
    - memory: added getStringParam* to return string instead of typed value
    - core, memory, storage, quick_frontend: getHistory now manage properly multi-profiles
    - plugins XEP-0047, XEP-0054, XEP-0065, XEP-0077, XEP-0096; multi-profiles proper handling
2012-11-10 16:38:16 +01:00
Goffi
a6d8990e49 core, plugins: fixed bad namespace in stanza creation 2012-11-01 22:41:39 +01:00
Goffi
c5a930b627 Licence modification: the full project is now under AGPL v3+ instead of GPL v3+ 2012-08-01 22:53:02 +02:00
Goffi
21dbb4473a copyleft date update 2012-03-06 09:07:24 +01:00
Goffi
4b144cbb8b plugin XEP-0096: minor cleaning 2011-10-06 21:21:53 +02:00
Goffi
dc936be42b File transfer:
- proxy managed in XEP-0065 (Socks5 bytestream)
- bug: fixed a bad id used during stream negociation
2011-10-05 16:49:57 +02:00
Goffi
1225131aec plugin XEP-0065: refactored and misc stuff fixed. Still not finished
plugins XEP-0096: XEP-0065 (Socks5 stream method) managed
2011-10-03 18:05:15 +02:00
Goffi
c64b06921b spelling 2011-09-29 14:59:14 +02:00
Goffi
55a8f2d76a plugins: plugin XEP-0096 update, use of XEP-0047 (IBB) 2011-09-29 12:09:31 +02:00
Goffi
ad29111416 core: plugins refactored according to bridge + updatedValue now use profile 2011-07-06 01:06:18 +02:00
Goffi
27274bfda0 plugins: fixed bad import names 2011-02-06 23:49:27 +01:00
Goffi
02509cdeb1 2011 copyright upgrade 2011-01-05 18:52:38 +01:00
Goffi
e4452c4b03 Files reorganisation 2010-12-29 01:06:29 +01:00
Renamed from plugins/plugin_xep_0096.py (Previous history)