Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-04-26 14:34:16 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-04-26 14:34:16 (GMT)
commit01a2beb281389cd72649a5171baf6646765cd1c1 (patch)
treef8ff8e1bb570a8cc24f859f8bc50058ddcb87003
parent4bfe89790ff29e8fbc2183edec7176f7a39b0e32 (diff)
-rw-r--r--sugar_network/ipc_glib_client.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/sugar_network/ipc_glib_client.py b/sugar_network/ipc_glib_client.py
index f5f118b..dc42783 100644
--- a/sugar_network/ipc_glib_client.py
+++ b/sugar_network/ipc_glib_client.py
@@ -13,12 +13,12 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import socket
import logging
import collections
from gettext import gettext as _
import gobject
-from gevent import socket
from local_document import ipc
from local_document.socket import SocketFile
@@ -40,33 +40,40 @@ class GlibClient(object):
"""
- def __init__(self, online):
+ def __init__(self):
self._socket_file = None
- self._online = online
self._io_hid = None
self._reply_queue = collections.deque()
def close(self):
if self._socket_file is not None:
+ _logger.debug('Close connection')
gobject.source_remove(self._io_hid)
self._io_hid = None
self._socket_file.close()
self._socket_file = None
self._reply_queue.clear()
- def get(self, resource, guid, reply_handler=None, error_handler=None,
+ def ping(self, reply_handler=None, error_handler=None,
**kwargs):
return self._call(reply_handler, error_handler,
+ online=False, cmd='ping', **kwargs)
+
+ def get(self, online, resource, guid,
+ reply_handler=None, error_handler=None, **kwargs):
+ return self._call(reply_handler, error_handler, online=online,
resource=resource, cmd='get', guid=guid, **kwargs)
- def get_blob(self, resource, guid, prop,
+ def get_blob(self, online, resource, guid, prop,
reply_handler=None, error_handler=None, **kwargs):
- return self._call(reply_handler, error_handler,
+ return self._call(reply_handler, error_handler, online=online,
resource=resource, cmd='get_blob', guid=guid, prop=prop,
**kwargs)
- def _call(self, reply_handler, error_handler, data=None, **request):
+ def _call(self, reply_handler, error_handler, data=None,
+ **request):
if self._socket_file is None:
+ _logger.debug('Open connection')
ipc.rendezvous()
# pylint: disable-msg=E1101
conn = socket.socket(socket.AF_UNIX)
@@ -75,7 +82,7 @@ class GlibClient(object):
self._io_hid = gobject.io_add_watch(conn.fileno(),
gobject.IO_IN | gobject.IO_HUP, self.__io_cb)
- _logger.debug('Make a call: %r', request)
+ _logger.debug('Make a call: %r %r', self._socket_file, request)
self._socket_file.write_message(request)
if data is not None: