Commit graph libervia-backend/src/core/sat_main.py
Author SHA1 Message Date
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
e689f6bb34 core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there 2014-03-21 16:08:11 +01:00
Goffi
9bd81494d1 core: minor docstring fixes 2014-03-21 15:03:51 +01:00
souliane
d158589881 core, frontends: add method asyncDeleteProfile, remove synchronous methods createProfile and deleteProfile 2014-03-03 09:59:10 +01:00
Goffi
a280080563 core (sqlite): automatic database update:
- new Updater class check database consistency (by calculating a hash on the .schema), and updates base if necessary
    - database now has a version (1 for current, 0 will be for 0.3's database), for each change this version will be increased
    - creation statements and update statements are in the form of dict of dict with tuples. There is a help text at the top of the module to explain how it works
    - if we are on a development version, the updater try to update the database automaticaly (without deleting table or columns). The Updater.generateUpdateData method can be used to ease the creation of update data (i.e. the dictionary at the top, see the one for the key 1 for an example).
    - if there is an inconsistency, an exception is raised, and a message indicate the SQL statements that should fix the situation.
    - well... this is rather complicated, a KISS method would maybe have been better. The future will say if we need to simplify it :-/
    - new DatabaseError exception
2014-02-23 23:30:32 +01:00
souliane
7d7d205159 core: fix mispelled argument 2014-02-18 14:33:35 +01:00
souliane
d0fccd5195 core: bug fix at connection time 2014-02-07 22:17:06 +01:00
Goffi
eeff94469a core: registerNewAccount partial fix 2014-02-04 18:54:06 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
aad6251058 core: security limit in menus 2014-02-04 18:32:39 +01:00
Goffi
c6aaaaa297 plugin XEP-0077, plugin XEP-0100, frontends: gateways have been entirely implemented in backend using the new refactored XMLUI and AdvancedListContainer. The now useless code has been removed from frontends. 2014-02-04 18:26:03 +01:00
Goffi
7d313660eb core: added "one_shot" option to registered callback:
when this keyword is used, the callback is automatically removed once it has been called.
2014-02-04 18:24:27 +01:00
Goffi
72fd99f679 plugin XEP-0045, primitivus: added MUC configuration 2014-02-04 18:06:12 +01:00
souliane
84bfd205dd test: added tests for XEP-0033 2014-01-05 13:05:31 +01:00
souliane
4a0d8be8ec core, bridge: new method paramsRegisterApp to register frontend's specific parameters 2013-12-27 13:28:26 +01:00
Goffi
b7bf434cd2 core: dynamics menus refactoring:
- menu now use generic callback system, with extra data
    - asyncMenuCall is removed in favor of launchAction
    - menu_id (== callback_id) is used to identify menu instead of category/name/type tuple
    - i18n is managed throught deferred translation, and returned with _i18n suffix
        e.g.: menu (D_('File'), D_('Open')): (u'File', u'Open') is menu_path, (u'Fichier', u'Ouvrir') is french menu_path_i18n.
    - type actually can have the following values:
        - NORMAL: classical menu
        - JID_CONTEXT: contextual menu, used with any jid
        - ROSTER_JID_CONTEXT: like JID_CONTEXT, but restricted to jids in roster.
        - ROSTER_GROUP_CONTEXT: contextual menu, use with groups
    - security_limit is used, in the same way as for parameters
    - when using importMenu, callback can be an actual callback, or one already registered with registerCallback
2013-12-29 17:10:14 +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
souliane
ea34ae362a core: fix bridge method getContactsFromGroup return value (list of jids --> list of strings) 2013-12-18 10:39:19 +01:00
Goffi
069a250b04 backend, frontends: callbacks refactoring:
- launchAction is now async, and return a dictionary for its result
    - no more action_id, actionResult* are deprecated
    - callback system is about to be unified
2013-12-24 15:19:08 +01:00
Goffi
71c1def32a core, frontends: callMenu is now async and don't use callback_id anymore 2013-12-24 15:18:31 +01:00
Goffi
bc776be0f2 core,bridge: sendMessage bridge method is now async 2013-12-17 01:46:45 +01:00
souliane
d98b470117 core: bug fix for serverDiscoItems (bad use of addCallbacks) 2013-12-16 14:36:38 +01:00
souliane
bbadfda25b core: bug fix for requestServerDisco in sat_main.py + added getAllServerIdentities method in memory.py 2013-12-16 14:35:26 +01:00
souliane
718bb98300 plugin XEP-0033: implementation of the addressing feature:
- frontends pass the recipients in the extra parameter of sendMessage
    - backend checks if the target server supports the feature (this is not done yet by prosody plugin)
    - features and identities are cached per profile and server
    - messages are duplicated in history for now (TODO: redesign the database)
    - echos signals are also duplicated to the sender (FIXME)
2013-12-11 17:16:53 +01:00
Goffi
f7efb167c8 plugin XEP-0050: Ad-Hoc commands first draft (answering part) 2013-12-10 17:25:31 +01:00
Goffi
05bf17c777 core: fixed statuses parameter in setPresence, and using @NONE@ instead of @DEFAULT@ for default profile_key 2013-12-10 17:25:31 +01:00
Goffi
2a1b7439b7 core: dont save anymore messages to database if there is no "message" data (fix empty records with chat states) 2013-11-13 14:01:13 +01:00
Goffi
9d42c269db core: sendMessage's options parameter has been renamed to extra to be consistent with newMessage 2013-11-13 13:58:10 +01:00
Goffi
60f03a623e core: sendMessage triggers now use a treatments deferred;
- treaments deferred can be used by plugins to change XML elements before sending them, in a similar way as for newMessage
    - sendMessageXml trigger became useless, so it as been removed in favor of the new deferred
2013-11-13 13:57:36 +01:00
souliane
9c2087847a core (memory): cleaned the part for load/save to xml (not used) 2013-10-18 19:23:03 +02:00
Goffi
109d61352f core: added SatIdentityHandler for Disco Identity, and set identity to "client/pc/Salut à Toi" 2013-11-05 22:40:55 +01:00
souliane
2bf3694fd0 core: added the security_limit to setParam
- params with a security greater than security_limit can not be modified
- special value: security_limit < 0 disable the check (all params can be modified)
2013-09-07 02:03:17 +02:00
souliane
9cb7071e89 plugin XEP-0085: Chat State Notifications
- new "options" parameter to send chat states
    - plugin command export: messages without body are now delivered (since all the chat states other than "active" need them)
2013-09-05 20:48:47 +02:00
Goffi
8e2f394b5b core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
- new BridgeInitError and BridgeExceptionNoService are in core.exceptions
    - D-Bus NotSupported is catched in bridge, and launch a BridgeInitError
    - BridgeInitError stop SàT core, jp, and quick_frontends with an explanation message.
fix bug 27
2013-06-21 02:00:37 +02:00
Goffi
1cd98e8dea fixed licences in docstrings (they are now in comments) 2013-03-08 00:36:22 +01:00
Goffi
3be801d4ee core: fixed sendMessage 2013-02-23 12:25:34 +01:00
Goffi
d339e79b1c core: sendMessage refactoring:
- sendMessage now use JID instead  of unicode, bridge method using unicode is now _sendMessage
    - added no_trigger argument, so it's now possible to forbid trigger execution (to avoid any plugin when we send a message)
2013-02-22 00:15:50 +01:00
Emmanuel Gil Peyrot
37f7912520 Fix pep8 support in src/core. 2013-01-18 17:55:35 +01:00
Emmanuel Gil Peyrot
27b3592e16 Remove trailing whitespaces. 2013-01-18 17:55:34 +01:00
Goffi
7919452915 removed CONST from sat_main as it is already in default_config 2013-01-09 22:43:41 +01:00
Goffi
def79e44cd dates update 2013-01-07 23:30:13 +01:00
Goffi
0dc63402e4 core: port parameter is used 2012-12-16 18:01:50 +01:00
Goffi
59cbce3361 core: asyncConnect is now fired when roster is available 2012-11-22 00:46:00 +01:00
Goffi
75bb00a0d4 core, bridge: waiting confirmation management (new getWaitingConf method) 2012-11-14 20:24:28 +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
65103362a6 core, quick_frontend, primitivus, wixi, bridge: fixed delayed message timestamp:
- new "extra" parameter in newMessage signal
2012-10-20 17:23:56 +02:00
Goffi
fef2b1a620 core, bridge, quick_frontend: MUC private messages history management:
- history now store message type
    - sqlite3 storage: fixed resource management in getHistory
    - bridge: added message type in getHistory return value
    - quick_chats: (ugly) hacks to manage private history filtering/nickname printing
2012-10-17 00:35:48 +02:00
Goffi
4e40bead7c plugin text commands: Text commands is a new plugin that bring IRC-like commands
- Text commands catch message sent, and check commands starting by /
	- /nick command is managed
2012-09-27 00:54:42 +02:00
Goffi
0f6de78a3b core, quick frontend, plugin xep-0054, bridge: use of memory's entities data for vcard:
- bridge: new bridge method getEntityData and signal entityDataUpdated
	- core: entityDataUpdated signal sent on new string data
	- quick frontend: fixed avatars/vcard infos, fixed _replace in quick_contact_list
	- plugin xep-0054: dropped updatedValue signal, use entities data instead
2012-09-26 01:23:56 +02:00