Commit graph libervia-backend/src/core
Author SHA1 Message Date
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
dc5c042fe7 core (log): twisted backend use logging methods instead of log.msg 2014-04-19 16:48:26 +02:00
Goffi
f05724db74 core: logging refactoring, first step:
- added a core.log module
    - 3 backends can be used: basic, standard (python's logging module) or twisted
    - colors can be used
    - the module has been made to be used by frontends, it should work in exotic environments like pyjamas
    - logging basic configuration is now made in sat.tac
    - core.log configuration is inspired from python standard logging, and use it when possible
    - getLogger should be used the same way as for standard logging
2014-04-19 00:02:38 +02:00
Goffi
28ad5741fd core (constants): added some basic ANSI escape codes 2014-04-18 23:36:52 +02:00
souliane
e91a30729f core, frontends: unify the roster management UIs in sat/stdui/ui_contact_list.py 2014-04-03 16:10:44 +02:00
Goffi
44d8f99b7d core: better plugin initialisation sequence:
- profileConnected are now executed in a deferredList, instead of one after the other
    - failure are collected, and a global message show which plugins failed and the failure message
2014-04-02 12:31:23 +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
souliane
8fa0b7b8c2 core, frontends (constants): frontends Const inheritates from core Const 2014-04-01 16:27:59 +02:00
Goffi
e95d04b69e core (disco): added discoInfos and discoItems bridge methods 2014-04-01 21:14:57 +02:00
Goffi
43657dcb15 core (XMPP): typo again 2014-03-31 17:12:09 +02:00
Goffi
3dd3af254d core (XMPP): fixed typo 2014-03-31 17:10:10 +02:00
Goffi
0fa3105b23 core (XMPP): added warning when a contact ins roster is not subscribed from or to 2014-03-31 17:07:25 +02:00
Goffi
e488c674a9 plugin xep-0115: caps optimisation 2014-03-31 12:24:20 +02:00
Goffi
c0105db63c core (disco): added checkFeature method + fixed hasFeature test 2014-03-31 12:23:13 +02:00
Goffi
83959c7c96 core: fixed bad closure in connection intialisation sequence (profileConnected in plugins were not called correctly) 2014-03-31 12:23:13 +02:00
Goffi
c69c9e95de core (XMPP): fix status in presence 2014-03-28 19:19:11 +01:00
Goffi
95678d7967 core, plugin XEP-0115: discovery refactoring:
- hashing algorithm of XEP-0115 has been including in core
    - our own hash is still calculated by XEP-0115 and can be regenerated with XEP_0115.recalculateHash
    - old discovery methods have been removed. Now the following methods are used:
        - hasFeature: tell if a feature is available for an entity
        - getDiscoInfos: self explaining
        - getDiscoItems: self explaining
        - findServiceEntities: return all available items of an entity which given (category, type)
        - findFeaturesSet: search for a set of features in entity + entity's items
      all these methods are asynchronous, and manage cache automatically
    - XEP-0115 manage in a better way hashes, and now use a trigger for presence instead of monkey patch
    - new FeatureNotFound exception, when we want to do something which is not available
    - refactored client initialisation sequence, removed client.initialized Deferred
    - added constant APP_URL
    - test_plugin_xep_0033.py has been temporarly deactivated, the time to adapt it
    - lot of cleaning
2014-03-28 18:07:22 +01:00
Goffi
382d49a628 core (memory): entities cache improvments:
- entities cache is no more limited to bare jid
    - resources are now automatically updated in bare jid cache
2014-03-28 18:07:17 +01:00
Goffi
2dcca42c19 core: more organisation in constants.py 2014-03-28 18:07:13 +01: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
souliane
03d4dcf029 plugin account: bug fix profile deletion from the database + unsubscribe the contacts 2014-03-24 16:21:14 +01:00
souliane
10aa504a7a core: presence stanzas were sent twice 2014-03-24 10:16:07 +01:00
souliane
3075585d9d core, memory: use XDG recommended paths as the defaults for the config and local directories 2014-03-23 22:43:43 +01:00
Goffi
8a52f6defa plugin text commands: refactoring, text now only contain main commands, and other plugin can add commands themselve:
- registerTextCommands can be called by a plugin in its __init__ method, it looks for methods starting with "cmd_" and register them as new commands
    - addWhoIsCb: add a callback to /whois command, the callback can complete whois informations
    - plugins parrot, XEP-0045 and XEP-0092 now manage their own commands
2014-03-24 10:57:15 +01:00
Goffi
1339efa9f0 core: plugins now accepts recommendations:
- "recommendations" key can be used in PLUGIN_INFO
    - if a plugin can't be found an ImportError is raised if it's a dependency, if it's a recommendation only a warning message is shown, and plugins importation continue
2014-03-23 10:02:50 +01:00
Goffi
6d768028d1 core: removed default_config:
- constants in core.default_config moved to core.constants
    - removed unused host.getConst and host.setConst
    - APP_NAME* used where it make sense
2014-03-22 17:48:10 +01:00
Goffi
93826f1ce8 core: sendMessageTrigger now manage pre and post treatments, which happen before or after XML generation 2014-03-22 15:34:05 +01:00
Goffi
c67faecba1 core: added IQ_SET to core.constants + getLastResource now manage correctly jid.JID 2014-03-22 13:42:59 +01:00
souliane
bc9efbda82 bridge, frontends: display presence with the highest priority + reset your own presence when you (dis)connect 2014-03-20 21:18:18 +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
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
1a74d6088e we are in a dev version again... 2014-03-01 13:35:21 +01:00
Goffi
302c929c6d version update 2014-02-28 15:01:37 +01:00
Goffi
84e7995d43 version update 2014-02-26 14:09:03 +01:00
souliane
afb5e7c9a2 core (xmpp): fix automatic contact deletion 2014-02-25 18:47:15 +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
a2ba38c6da core: fixed UnknownGroupError exception in getJidsFromGroup 2014-02-13 18:50:41 +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