From dbd8115557f7f1b88b82ed23c0fb312b4d15100f Mon Sep 17 00:00:00 2001 From: mathieui Date: Mon, 23 Feb 2015 21:36:13 +0100 Subject: Remove the filesocket shim (2.6 compatibility) --- slixmpp/xmlstream/filesocket.py | 54 ----------------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 slixmpp/xmlstream/filesocket.py (limited to 'slixmpp/xmlstream') diff --git a/slixmpp/xmlstream/filesocket.py b/slixmpp/xmlstream/filesocket.py deleted file mode 100644 index 1b52251e..00000000 --- a/slixmpp/xmlstream/filesocket.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -""" - slixmpp.xmlstream.filesocket - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - This module is a shim for correcting deficiencies in the file - socket implementation of Python2.6. - - Part of Slixmpp: The Slick XMPP Library - - :copyright: (c) 2011 Nathanael C. Fritz - :license: MIT, see LICENSE for more details -""" - -from socket import _fileobject -import errno -import socket - - -class FileSocket(_fileobject): - - """Create a file object wrapper for a socket to work around - issues present in Python 2.6 when using sockets as file objects. - - The parser for :class:`~xml.etree.cElementTree` requires a file, but - we will be reading from the XMPP connection socket instead. - """ - - def read(self, size=4096): - """Read data from the socket as if it were a file.""" - if self._sock is None: - return None - while True: - try: - data = self._sock.recv(size) - break - except socket.error as serr: - if serr.errno != errno.EINTR: - raise - if data is not None: - return data - - -class Socket26(socket.socket): - - """A custom socket implementation that uses our own FileSocket class - to work around issues in Python 2.6 when using sockets as files. - """ - - def makefile(self, mode='r', bufsize=-1): - """makefile([mode[, bufsize]]) -> file object - Return a regular file object corresponding to the socket. The mode - and bufsize arguments are as for the built-in open() function.""" - return FileSocket(self._sock, mode, bufsize) -- cgit v1.2.3