Commit graph

1,488 commits

Author SHA1 Message Date
Goffi
fcb658ff2d primitivus (ProfileManager): fixed profile change event callback 2015-08-25 14:22:21 +02:00
souliane
ab6b04b898 tools (xmlui): changeContainer do not create a new one when the current one already fits 2015-08-21 14:58:42 +02:00
souliane
a90bcacfe9 tools, frontends (xmlui): allow to select a tab when adding it 2015-08-21 14:17:41 +02:00
Goffi
fe5cc0ac0a plugin groupblog: groupblog compatible pubsub service is checked in profileConected + getFeatures implementation 2015-08-21 19:23:14 +02:00
Goffi
690b1c2213 core (disco): fixed bad indentation resulting in bad result in findFeaturesSet 2015-08-21 19:23:13 +02:00
Goffi
3080368825 plugin XEP-0060: implemented getFeatures, data has a "service" key if service is found for this profile 2015-08-21 17:09:43 +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
621221c16e QuickFrontend: removed old watched stuff as a new plugin now manages it properly 2015-08-20 18:44:39 +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
1fde823a9c primivitus: fixed profile manager exception when nothing is focused 2015-08-20 18:41:06 +02:00
Goffi
9df7cd6d33 frontends, primitivus: JidsList XMLUI widget management /!\ urwid SàText must be updated 2015-08-20 18:36:53 +02:00
Goffi
a39e66b598 core (params): jids_list type management 2015-08-20 18:35:27 +02:00
Goffi
8e37cf55ed core (xmlui): added JidsListWidget to manage editable list of jids:
- can be used to manage XEP-0004's jid-multi
    - can be used in the future for search result to display found entities (need a read-only style)
    - generaly usefull to manage list of entites
    - implemented in params too
2015-08-20 18:33:52 +02:00
Goffi
31582c98f9 core(xmlui): removed useless parenthesis around assert 2015-08-18 10:52:18 +02:00
Goffi
4623af2784 core (memory): fixed a double timer.cancel in Sessions 2015-08-18 10:36:41 +02:00
Goffi
7f14e1865d core , privmitivus (xmlui): add jidInput handling, with a simple String for now 2015-08-18 10:35:44 +02:00
Goffi
2c37acf27f xmlui: minor docstring fixes 2015-08-18 10:04:47 +02:00
Goffi
b36c1d6493 core: tools.utils.getRepositoryData now return "hg log -r -1" and short form of node + fixed crash if mercurial is not present:
short form is now returned in string version for better readability. Even if a collision is possible, it's not a big deal as it is used mainly in about dialog to help identify a version in case of e.g. bug.
2015-08-18 09:37:25 +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
3312c3bf97 quick_frontend, primitivus: handling of actionNew signal 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
d12df6c98e plugin XEP-0045: added disco announce 2015-08-18 09:01:18 +02:00
Goffi
a667873b99 plugin XEP-0059: fixed bad disco handling 2015-08-18 09:01:18 +02:00
souliane
9295bba396 setup: wx is not more a dependency since wix has been deprecated 2015-08-20 10:22:46 +02:00
souliane
71f0f14b36 plugin OTR: fixes a couple of typos 2014-09-03 20:55:54 +02:00
Goffi
1170edc400 quick_frontend: minor fixes 2015-08-16 01:01:34 +02:00
Goffi
b747c1b733 quick_frontend (constants, quick_app, quick_contact_list): blogging refactoring (not finished):
- adaptation to backend modifications
    - moved common blogging parts from Libervia to quick frontend
    - QuickApp use a MB_HANDLE class variable to indicated if blogging is managed by the frontend (and avoid waste of resources if not)
    - comments are now managed inside parent entry, as a result a tree of comments is now possible
    - Entry.level indicate where in the tree we are (-1 mean parent QuickBlog, 0 mean main item, more means comment)
    - items + comments are requested in 1 shot, and RTDeferred are used to avoid blocking while waiting for them
    - in QuickBlog, id2entries allow to get Entry from it's item id, and node2entries allow to get Entry(ies) hosting a comments node
    - QuickBlog.new_message_target tell where a new message will be sent by default
2015-08-16 01:00:54 +02:00
Goffi
0f10526746 core: getProfileName no raise ProfileUnknownError + minor doc fixes 2015-08-16 00:41:58 +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
f32b006d54 plugin text-syntaxes: minor variable renaming 2015-08-16 00:06:59 +02:00
Goffi
4eef249eb4 tmp(pubsub): added retract "notify" attribute management 2015-08-16 00:06:12 +02:00
Goffi
7cbcc26d7d xml_tools: minor attribute renaming 2015-08-15 22:27:39 +02:00
Goffi
32592acdf5 tmp (wokkel.rsm): use of super instead of direct call in PubSubRequest 2015-08-15 22:24:40 +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
45c81e068b plugin XEP-0277: better parsing of atom:author element + item2mbdata minor reorganisation for better readability 2015-08-15 22:22:36 +02:00
Goffi
c3e34047b2 plugin xep-0060,xep-0277: added getFromMany using new RTDeferredSession mechanism 2015-08-15 22:22:34 +02:00
Goffi
7e83aaedb3 plugins xep-0060, xep-0277: added methods to serialise getItems result (before bridge transmission):
serItemsData is used for normal callbacks, and serItemsDataD for callbacks which return deferred. These methods simplifly the code by making the re-use of getItems more easy.
2015-08-15 22:20:56 +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
d4008f22ec plugin XEP-0060: use of new RTDeferredSession to subscribe many nodes at once + subscribeToMany can now subscribe on separate services 2015-08-15 22:13:27 +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
Goffi
0a22619026 core (memory): Sessions fixes:
- avoid memory leak with forgotten _purgeSession in case of conflict: an exception is now raised instead
    - _purgeSession now cancel the timer if it was not done before
    - KeyError in profileGet is now explicitly raised throught a failure.Failure
    - use iterator to iterate session in ProfileSessions
2015-08-15 22:13:27 +02:00
Goffi
fd3e9ce044 plugins xep-0060, xep-0277: code simplification/cleaning/fix:
- plugin xep-0060: moved rsm data to a more general metadata dict, which will contain all data relative to the node/items set. RSM metadata are prefixed with "rsm_"
    - plugin xep-0060: minor docstring fixes
    - plugin xep-0060: removed cache to simplify code base
    - fixed broken getLastMicroblogs
    - added _getLastMicroblogs as wrapper to getLastMicroblogs, for bridge
    - removed lxml dependecy for this plugin, use native twisted instead
    - several improvments/fixes in item2mbdata
2015-08-15 22:13:27 +02:00
souliane
eaaa5e2164 tools (config): when reading a list or dict from the config file, ignore spaces immediately following the delimiter 2015-07-22 11:42:37 +02:00
souliane
7c4bed58c5 tools (xml_tools): better PEP-8 compliance 2015-07-21 15:36:40 +02:00
souliane
d2c822fb95 add PyOpenSSL to the dependency list 2015-07-21 11:56:53 +02:00
souliane
252bf6bef3 quick_frontend: display over whole alerts counter 2015-07-20 10:23:58 +02:00
souliane
042e19b812 quick_frontend (quick_chat): QuickChat._get_nick returns "" instead of None for message from the MUC 2015-07-14 16:49:29 +02:00
souliane
3595d2656b plugin misc_groupblog: pubsub response do not fail when target server doesn't handle RSM 2015-07-14 16:44:15 +02:00
souliane
204c7fdc48 tmp (wokkel): pubsub response do not fail when target server doesn't handle RSM 2015-07-14 16:41:59 +02:00