diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-04-26 14:34:16 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-04-26 14:34:16 (GMT) |
commit | 01a2beb281389cd72649a5171baf6646765cd1c1 (patch) | |
tree | f8ff8e1bb570a8cc24f859f8bc50058ddcb87003 | |
parent | 4bfe89790ff29e8fbc2183edec7176f7a39b0e32 (diff) |
...ipc_glib
-rw-r--r-- | sugar_network/ipc_glib_client.py | 23 |
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: |