22 lines
1008 B
Python
22 lines
1008 B
Python
""" Contains monkey-patched equivalents for a few commonly-used Python 2.7-and-higher functions.
|
|
Used to provide backwards-compatibility with Python 2.6
|
|
"""
|
|
import sys
|
|
if sys.version_info[0] == 2 and sys.version_info[1] < 7:
|
|
import threading
|
|
|
|
# threading.Event.wait() always returns None in Python < 2.7 so we need to patch it
|
|
if hasattr(threading, '_Event'): # threading.Event is a function that return threading._Event
|
|
# This is heavily Python-implementation-specific, so patch where we can, otherwise leave it
|
|
def wrapWait(func):
|
|
def newWait(self, timeout=None):
|
|
func(self, timeout)
|
|
return self.is_set()
|
|
return newWait
|
|
threading._Event.wait = wrapWait(threading._Event.wait)
|
|
else:
|
|
raise ImportError('Could not patch this version of Python 2.{0} for compatibility with python-gsmmodem.'.format(sys.version_info[1]))
|
|
if sys.version_info[0] == 2:
|
|
str = str
|
|
else:
|
|
str = lambda x: x |