| # -*- coding: utf-8 -*- |
| __doc__ = """ |
| This compatibility module is inspired by the one found |
| in CherryPy. It provides a common entry point for the various |
| functions and types that are used with ws4py but which |
| differ from Python 2.x to Python 3.x |
| |
| There are likely better ways for some of them so feel |
| free to provide patches. |
| |
| Note this has been tested against 2.7 and 3.3 only but |
| should hopefully work fine with other versions too. |
| """ |
| import sys |
| |
| if sys.version_info >= (3, 0): |
| py3k = True |
| from urllib.parse import urlsplit |
| range = range |
| unicode = str |
| basestring = (bytes, str) |
| _ord = ord |
| |
| def get_connection(fileobj): |
| return fileobj.raw._sock |
| |
| def detach_connection(fileobj): |
| fileobj.detach() |
| |
| def ord(c): |
| if isinstance(c, int): |
| return c |
| return _ord(c) |
| else: |
| py3k = False |
| from urlparse import urlsplit |
| range = xrange |
| unicode = unicode |
| basestring = basestring |
| ord = ord |
| |
| def get_connection(fileobj): |
| return fileobj._sock |
| |
| def detach_connection(fileobj): |
| fileobj._sock = None |