Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/python-nbxmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'nbxmpp/modules/muclumbus.py')
-rw-r--r--nbxmpp/modules/muclumbus.py26
1 files changed, 12 insertions, 14 deletions
diff --git a/nbxmpp/modules/muclumbus.py b/nbxmpp/modules/muclumbus.py
index e68bfcf..e6a71eb 100644
--- a/nbxmpp/modules/muclumbus.py
+++ b/nbxmpp/modules/muclumbus.py
@@ -18,6 +18,10 @@
import logging
import json
+import gi
+gi.require_version('Soup', '2.4')
+from gi.repository import Soup
+
from nbxmpp.protocol import NS_MUCLUMBUS
from nbxmpp.protocol import NS_DATA
from nbxmpp.protocol import NS_RSM
@@ -32,14 +36,6 @@ from nbxmpp.util import call_on_response
from nbxmpp.util import callback
from nbxmpp.util import raise_error
-try:
- import gi
- gi.require_version('Soup', '2.4')
- from gi.repository import Soup
- SOUP_AVAILABLE = True
-except (ValueError, ImportError):
- SOUP_AVAILABLE = False
-
log = logging.getLogger('nbxmpp.m.muclumbus')
# API Documentation
@@ -50,9 +46,14 @@ class Muclumbus:
self._client = client
self.handlers = []
- self._soup_session = None
- if SOUP_AVAILABLE:
- self._soup_session = Soup.Session()
+ self._proxy_resolver = None
+ self._soup_session = Soup.Session()
+
+ def set_proxy(self, proxy):
+ if proxy is None:
+ return
+ self._proxy_resolver = proxy.get_resolver()
+ self._soup_session.props.proxy_resolver = self._proxy_resolver
@call_on_response('_parameters_received')
def request_parameters(self, jid):
@@ -90,9 +91,6 @@ class Muclumbus:
def set_http_search(self, uri, keywords, after=None,
callback=None, user_data=None):
- if not SOUP_AVAILABLE:
- raise ImportError('Module Soup not found')
-
search = {'keywords': keywords}
if after is not None:
search['after'] = after