Commit graph libervia-backend/src/core
Author SHA1 Message Date
Goffi
2e70b01b28 core: more robust plugins loading:
- avoid stopping loading remaining plugins when a plugin raise an error
    - new error exceptions.MissingModule allows to detect a missing third party module, and to give instructions to get it
    - error during instanciation are catched too
2015-09-29 17:54:23 +02:00
Goffi
68ae6a407e core: removed forgotten breakpoint 2015-09-29 17:54:21 +02:00
Goffi
66ad169227 core: progression handling improvments:
- getProgress has been renamed to progressGet to follown new naming convention
    - new signals: progressStarted, progressFinished and progressError to indicate state of progressing events
    - new method progressGetAll to get all progressing events of all profile (or only one profile)
2015-09-25 19:19:12 +02:00
Goffi
ea2a3e584d core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants 2015-09-25 19:19:12 +02:00
Goffi
8deee28320 core (plugins): detect import_name conflicts 2015-08-27 17:59:15 +02:00
Goffi
9895ceb32f core (disco): added checkFeatures to check several features at once + identities are now managed with a tuple in findFeaturesSet and checkFeatures 2015-08-25 16:05:01 +02:00
Goffi
0bf9461416 core, bridge: added getFeatures method:
this async method indicate which plugins are activated, and add an additional data dictionary with plugin specific data.
    The result can be general (if profile==C.PROF_KEY_NONE) or specific to profile.
2015-08-21 17:08:26 +02:00
Goffi
135fba2de1 core, plugin watched: new plugin, show an alert when a watched entity goes online 2015-08-20 18:43:56 +02:00
Goffi
35d39b450f core: moved __version__ to __init__.py, so we can check version by doing "import sat;print(sat.__version__)" 2015-08-18 09:01:18 +02:00
Goffi
8cfcc7098a core: removed sat_id which is not used anywhere, uuid do the job better 2015-08-18 09:01:18 +02:00
Goffi
97d140566c core, bridge: new signal actionNew to launch an action from the backend (e.g. display a dialog message):
- SAT.actionNew is a shortcut to call bridge.actionNew with a generated id. The id may be used in the future to ignore an action (e.g.: an action is sent to all frontends to accept a file, one of the frontend did manage the dialog, the other ones can then ignore this dialog), but is not used for now.
2015-08-18 09:01:18 +02:00
Goffi
b7409e0488 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
/!\ not everything is working yet, and specially groupblogs are broken /!\
    - renamed bridge api to use prefixed methods (e.g. psSubscribeToMany instead of subscribeToMany in PubSub)
    - (xep-0060): try to find a default PubSub service, and put it in client.pubsub_service
    - (xep-0060): extra dictionary can be used in bridge method for RSM and other options
    - (xep-0060): XEP_0060.addManagedNode and XEP_0060.removeManagedNode allow to easily catch notifications for a specific node
    - (xep-0060): retractItem manage "notify" attribute
    - (xep-0060): new signal psEvent will be used to transmit notifications to frontends
    - (xep-0060, constants): added a bunch of useful constants
    - (xep-0163): removed personalEvent in favor of psEvent
    - (xep-0163): addPEPEvent now filter non PEP events for in_callback
    - (xep-0277): use of new XEP-0060 plugin's addManagedNode
    - (xep-0277): fixed author handling for incoming blogs: author is the human readable name, author_jid it jid, and author_jid_verified is set to True is the jid is checked
    - (xep-0277): reworked data2entry with Twisted instead of feed, item_id can now be specified, <content/> is changed to  <title/> if there is only content
    - (xep-0277): comments are now managed here (core removed from groupblog)
    - (xep-0277): (comments) node is created if needed, default pubsub service is used if available, else PEP
    - (xep-0277): retract is managed
2015-08-16 00:39:44 +02:00
Goffi
1e21730bfe plugin XEP-0277: added mBGetFromManyWithComments to have items + comments in one method call 2015-08-15 22:24:38 +02:00
Goffi
2b20bff614 plugins xep-0277, groupblog: added subscriteToMany to replace massiveSubscribeGroupBlogs + added SatRosterProtocol.getJidsSet 2015-08-15 22:20:43 +02:00
Goffi
975e4ac51f core: new tools.sat_defer module, and implementation of RTDeferredSessions:
The real-time deferred session is a class which manage session of several deferreds at once (pretty much like a DeferredList), with the ability to get intermediate results.
2015-08-15 22:13:27 +02:00
souliane
640537662a bridge, quick_frontend: the JID that is assigned by the server can differ from the one we asked for (resource) 2015-06-10 18:04:43 +02:00
souliane
e10070f923 primitivus: fix setting the presence and status 2015-06-10 09:18:34 +02:00
Goffi
becb178deb core (xmpp): added log message when a an entity without presence subscription is removed from roster 2015-05-27 19:12:38 +02:00
souliane
f78804cce5 core (xmpp): update the cache for a contact group when a contact is removed from it 2015-04-24 14:57:09 +02:00
souliane
2273421745 core (xmpp): RosterItem.jid is deprecated in Wokkel 0.7.1, use RosterItem.entity instead 2015-04-24 14:54:24 +02:00
souliane
41b549f7ae core, plugin XEP-0045, frontends: change frontend method "setStatusOnline" for "setPresenceStatus":
- remove parameter "online" (can be guess from "presence" value)
    - process "statuses" dict in quick_frontend, so this method can get a simple unicode "status"
    - add C.PRESENCE_STATUSES_DEFAULT to define the key to use for fallback status
2015-04-20 16:39:38 +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
souliane
31e49c0d23 core (xmmp): keep the roster groups cache synchronised + fixes a log.warning 2015-04-01 23:56:32 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
souliane
d4c627d71f plugins XEP-0045, XEP-0249: allow to join / invite without specifying the JID's host part (use client's values) 2015-03-24 07:34:32 +01:00
Goffi
c2314640ba core: getRepositoryData now get the module in argument 2015-03-19 20:40:10 +01:00
Goffi
2900e815c4 core: if we are in dev version and it's possible, repository data are now checked and added to SàT version 2015-03-19 19:47:01 +01:00
Goffi
76065758df renamed tools.misc to tools.trigger 2015-03-19 19:44:37 +01:00
Goffi
6760c927d3 merged branch frontends_multi_profiles 2015-03-18 10:52:28 +01:00
Goffi
80e65d5b84 core, quick_frontends: added an "extra" item in getMenus + use of new quick_menus module in QuickApp 2015-03-17 19:33:05 +01:00
souliane
2a7bf77142 core (constants): add menu type MENU_ROOM_OCCUPANT_CONTEXT 2015-03-09 16:37:15 +01:00
souliane
b524d41446 core: fixes bug introduced by 1262 (f8a8434dbac7) in SAT.delContact 2015-03-06 16:06:38 +01:00
souliane
b5d70cbe34 core, quick_frontends: fixes one typo and a variable naming issue 2015-02-21 17:22:39 +01:00
Goffi
b00abe5dc7 core: added a "profileConnecting" method check:
if a plugin has a profileConnecting method, it will be called when the profile is being connected but before the client stream is started. That can be usefull if things need to be done before the communication is started: e.g. putting triggers, loading PersistentDict, etc.
2015-02-09 21:39:51 +01:00
Goffi
cdfb2c4dc6 core (memory): updateEntityData now accept a "silent" argument to avoid sending signal to frontends when updating an attribute with "signalOnUpdate" flag. 2015-02-09 21:39:51 +01:00
Goffi
ec25ba82e1 core: added getEntitiesData which get cache data for several entities at once 2015-02-09 21:39:51 +01:00
Goffi
b4937bef76 core: fixed items registration in roster management 2015-02-06 18:54:44 +01:00
Goffi
d07237f49d core: fixed some logging calls without unicode strings, and use of print 2015-02-06 18:53:07 +01:00
Goffi
983dcf926e core: better use of C.bool: C.bool only accept basestring subclasses and return the associated constant, C.boolConst return the associated constant for a boolean value 2015-02-06 18:46:26 +01: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
01e8ee664e core (xmpp): set missing "from" attribute of received messages to the server domain 2014-12-19 11:42:45 +01:00
Goffi
05e5e1448b core: misc improvments:
- added some constants for message types and presence
    - removed profile authentification specific methods in favor of a more generic "validated" key
2014-12-10 18:36:11 +01:00
Goffi
6e144c6458 core: improved roster management + misc:
- updated methods to no use anymore methods deprecated in Wokkel
    - use of full jid when it make sense instead of bare jid
    - getContacts, updateContact and delContact are now asynchronous
2014-12-10 18:32:33 +01:00
souliane
fe06c14303 core, plugins: improve a bit some log messages 2014-10-18 16:28:37 +02:00
Goffi
6b20989ecc core: better management of default value in getConfig 2014-10-07 17:12:41 +02:00
souliane
176512b013 constants: split C.bool in C.bool and C.str so:
- you can use them without caring about the input type
    - you always know the output type
2014-10-06 12:22:14 +02:00
souliane
136395eb6d memory (params): add parameters "Show offline contacts" and "Show empty groups" 2014-10-06 11:20:43 +02:00
souliane
4f339272b7 memory: add Parameter "Chat history limit" 2014-09-24 13:49:43 +02:00
souliane
a67c8094f5 core: move XMPP keep-alife value to the constants 2014-09-21 13:06:53 +02:00
souliane
a3a6e48797 we are in dev version again 2014-09-18 11:43:21 +02:00