Commit graph

1,471 commits

Author SHA1 Message Date
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
souliane
a2962a1000 add tests for sat.tmp.wokkel 2015-07-14 15:22:02 +02:00
souliane
6f8e97860a plugin XEP-0054: fixes bug introduced by changeset 1255 (38fb8823cee8) 2015-07-14 12:57:07 +02:00
souliane
9062b2da02 quick_frontend: add a couple of TODOs 2015-07-13 13:33:54 +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
souliane
fdad3cf3c9 plugin misc_account: change the message sent by email after an account creation 2015-06-06 17:01:22 +02:00
Goffi
f51848a0ad tmp (rsm): better use of domish.Element.elements() + minor fixes 2015-05-27 19:12:38 +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
Goffi
2602e4efbb quick frontends (contact list): cache is not cleared anymore on QuickContactList.fill, avoiding the accidental removal of cached values like avatars 2015-05-27 19:08:16 +02:00
Goffi
3c6a708966 quick_frontend (quick_app): properly fixed roster loss:
commit 6adf1b0be609 which was causing issues in Libervia or when a profile was already connected
2015-05-22 22:31:37 +02:00
souliane
f978524b22 display the resource in the chat dialog when printing a private MUC message 2015-04-24 16:10:46 +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
Goffi
af3ec67047 core (tests): fixed bad use of reserved name 2015-04-23 15:16:06 +02:00
Goffi
0ad78c5072 core (tests): test fixes 2015-04-23 14:19:43 +02:00
Goffi
13ed04b83d plugin groupblog, tmp (mam, rsm): some style improvments/fixes:
- renamed variables nammed after reserved word/module
    - removed class variables which are not needed
    - removed external parenthesis from asserts
    - in mam.MAMPrefs, removed default value for default argument, as None can't be used
    - (groupblog) extended docstring for DeferredItems and DeferredItemsFromMany
2015-04-23 13:35:21 +02:00
Goffi
526ca6a272 tmp (wokkel): licenses fixes:
the licenses headers were wrong, it was fixed: original work from Adrien Cossa is directly under AGPL v3 (with his agreement), work derivated from Wokkel is sublicensed to AGPL v3 as allowed by the original license, to stay consistent with the rest of the code base.
    Theses files (and only these ones) can be relicensed again to fill Wokkel license if Ralph plan to merge them upstream...
2015-04-23 10:57:40 +02:00