Commit graph libervia-backend/src
Author SHA1 Message Date
Goffi
7bc5b99ea1 core (memory/cache): common cache:
host has now a common_cache attribute for data which can be shared between profiles. client.cache is for private data
2018-03-02 17:40:09 +01:00
Goffi
c1dc9d4599 core (memory): fixed _getParentDir call in setFile 2018-03-02 17:37:41 +01:00
Goffi
0d8938f92f core (memory/sqlite): renamed column for files from hash to file_hash:
the version has not been changed to avoid too creating update for such a small change.
Even if generally a database change means a version change, this one has not be wide spreaded, and it will be updated automatically for dev version.
A manual "drop table files" using sqlite3 shell might clean things up though.
The reason of the column name change is that hash is named file_hash in code (because "hash" is a reserved word), and using the same name simplify data manipulation.
2018-03-02 17:36:43 +01:00
Goffi
ee7ad2bafe plugin XEP-0054: removed Image.ANTIALIAS filter:
Image.ANTIALIAS filter is not needed anymore in Pillow: http://pillow.readthedocs.io/en/3.0.x/releasenotes/2.7.0.html#default-filter-for-thumbnails
2018-03-01 09:04:36 +01:00
Goffi
7ea8c79dbd plugin file sharing component: first draft:
this component act as an endpoint where a user can store and retrieve its files using Jingle.
2018-02-28 18:28:39 +01:00
Goffi
9a87d5c355 XEP-0329: implementation of File Information Sharing:
the plugin do an implementation for client and component.
For client, any directory from local file can be shared.
For component file are stored using new file handling mechanism from SàT.
Permission is handled, using "public" and "whitelist" for now.
2018-02-28 18:28:39 +01: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
db45d45be5 core (memory): file metadata handling methods:
- checkFilePermission check that requested permission(s) are granted for a file (without checking the parents)
- checkPermissionToRoot check that requested permission(s) are granted for a file and all its parents
- getFiles retrieve file(s) according to filter, and check permissions by default
- setFile create a file (and its parents if needed) and check permissions by default
2018-02-28 18:28:39 +01:00
Goffi
1301132bed memory (sqlite): files handling:
/!\ new database schema version

- added a table to handle files metadata and hierarchy.
- new methods getFiles and setFile allow respectively to retrieve files corresponding to filters, and to set metadata for one file.
- fixed stmnt_regex to detect correcly new schema (during schema validation/update on init)
2018-02-28 18:28:39 +01:00
Goffi
6f64d7d0a3 core (trigger): new returnPoint method:
Normally trigger return value is a boolean used to check if normal workflow must be continued or stopped.
This method add a way to also specify a return value to the method, in addition to the "continue or not" boolean.
2018-02-28 18:28:39 +01:00
Goffi
b27f385511 core (client): component improvments:
- renamed component boolean to is_component for more clarity
- profileConnected/profileDisconnected don't use a suffix anymore, it's called for both client and component.
  To check for there, the is_component boolean is enough
- fixed dependencies handling
- componentStart is not mandatory anymore, as a component can just be used with its handler
2018-02-28 18:28:39 +01:00
Goffi
0d5b8b5a84 core (client): set default timeout of IQ to 60 seconds 2018-02-28 18:28:39 +01:00
Goffi
6aee4c07cf core: new getLocalPath method to retrieve a path in SàT local dir, which may be specific to a profile or component 2018-02-28 18:28:39 +01:00
Goffi
54e4d5d3a9 core (exceptions): added ClientTypeError to deal when a code should not be executed by a client or component profile. 2018-02-28 18:28:39 +01:00
Goffi
a89b5f0957 core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches) 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
ece10e8cd2 plugin NAT-port: raise MappingError if something get wrong during "addportmapping" + log unexpected errors (i.e. everything else than MappingError) 2018-02-01 07:24:34 +01:00
Goffi
aec189c087 plugin XEP-0166: added errback to terminate, which only logs issues 2018-02-01 07:21:41 +01:00
Goffi
cfcc673826 plugin forums: first draft:
this plugin handle forums hierarchy, where forums link to topics which themselves link to blog nodes.
2018-01-30 08:17:08 +01:00
Goffi
387c10cc0d dates update 2018-01-26 11:14:13 +01:00
Goffi
4d7bc8aaa1 tools (common/data_objects): accept same parameters as format en quote their values in OnClick.formatUrl 2018-01-24 09:12:12 +01:00
Goffi
f857a86740 plugin blog import dotclear: use a smaller and lower case prefix to generate ids 2018-01-24 09:10:12 +01:00
Goffi
80efb4b121 plugin XEP-0277: use shortuuid instead of uuid + use item's XMPP URI for atom ID 2018-01-22 22:00:46 +01:00
Goffi
c09a5feb3c plugin blog static: added background parameter, to set an image 2018-01-22 08:36:36 +01:00
Goffi
773b9b8948 tools (common/data_objects): use lists instead of generators for BlogItem.groups and BlogItem.tags 2018-01-21 20:20:38 +01:00
Goffi
ba046b33dd tool (utils): import directly parser from dateutil 2018-01-21 13:04:16 +01:00
Goffi
7b833e62a6 tools (common/data_objects): BlogItem has now a uri property to generate its own XMPP URI 2018-01-19 17:41:10 +01:00
Goffi
d4cfd510c8 plugin XEP-0277: microblog namespace is now registered 2018-01-19 17:40:06 +01:00
Goffi
8cce1d1ba0 core: 'x-data' namespace is now registered 2018-01-19 17:39:38 +01:00
Goffi
e963a0077a plugin merge-requests: fixed "set" method 2018-01-13 10:12:15 +01:00
Goffi
78b16b9bff plugins tickets, merge-requests: fixed call of prepareBridgeSet 2018-01-13 10:03:32 +01:00
Goffi
3e76e826d0 plugins schema, merge_requests, tickets*: factorisation
Dode common in plugins using schema have been factorised in pubsub schema plugin, and filters users in tickets handling have been renamed in a more generic way and put there too.
"reporter*" fields in tickets have been renamed to "author*" as it is a more generic term which can be used elsewhere.
The use of new utils.partial function make easy the creation of simple plugins using schema.
2018-01-12 15:58:54 +01:00
Goffi
a979fce2fc tools (utils): new "partial" function which is a hack to workaround issue with functools.partial while using it with dbus module. 2018-01-12 15:45:37 +01:00
Goffi
8845cc682f tools (common/data_objects): added Room class 2018-01-05 13:00:34 +01:00
Goffi
a22c1a7fd8 plugin XEP-0045: new mucGetService bridge method to retrieve MUC service of the server. 2018-01-05 12:59:52 +01:00
Goffi
cf4ba7b9e4 plugin identity: if we get an empty avatar, don't feel avatar_basename and remove avatar key. 2018-01-05 12:58:54 +01:00
Goffi
fa1654964d template: date filter improvments:
new format (i.e. format after date limit has been reached) can now be specified.
0 can now be used for "auto_limit" to use last midnight as date limit.
A new "auto_day" format can be used as shortcut to use last midnight as date limit, short datetime for old format, and time only for new format.
2018-01-03 00:29:18 +01:00
Goffi
f2b0051004 template: boolean attribute can now be specified when importing a script, and default to "defer" 2018-01-03 00:23:36 +01:00
Goffi
f2b942371a tools (common/data_objects): added classes for messages 2018-01-03 00:21:21 +01:00
Goffi
a9e8a79445 plugin identity: return resource for MUC room occupants' nicks + added avatar and avatar_basename. 2018-01-03 00:20:21 +01:00
Goffi
284b2e2ca7 plugin XEP-0054: return always False in isRoom is plugin XEP-0045 is not available + raise NotFound if avatar is requested for a MUC room (not the occupants, the room itself) 2018-01-03 00:18:31 +01:00
Goffi
9e243b3a8a plugin XEP-0045: added mucNickGet to retrieve our nickname in a MUC room 2018-01-03 00:16:23 +01:00
Goffi
a9fb2e568e core: moved CHAT_* constants from frontends to core constants + uses constants for MESS_TYPE_* in sendMessage 2018-01-03 00:13:48 +01:00
Goffi
adca9c455d plugin XEP-0060: added an config option to set pubsub service
"pubsub_service" can now be used in [DEFAULT] section. If not found or invalid, first pubsub service found will be used

fix 216
2017-12-12 01:07:25 +01:00
Goffi
d3eb77bdaf template (xmlui): added labels property in ValueWidget (actually return values) and values property in OptionsWidget 2017-12-04 00:45:07 +01:00
Goffi
87690d88ce core, template (filters): added pygments as a dependency + new highlight filter to use it. 2017-11-30 21:00:24 +01:00
Goffi
5aec6ed680 template (filters): don't crash on invalid date in date_fmt 2017-11-30 20:59:24 +01:00
Goffi
6020cae869 template: remove extension from elements while looking for a path:
this way, extension doesn't need to be provided for a CSS file for a single page.
2017-11-30 20:58:34 +01:00
Goffi
a01bec718e tools (config): complexe data can now be set using json and the "_json" suffix 2017-11-30 20:53:47 +01:00
Goffi
6de330925f plugin merge requests Mercurial: first draft:
this plugin handle Mercurial VCS. It send merge requests using export command, and parse it to retrieve individual patches and metadata.
2017-11-30 20:49:20 +01:00