зеркало из https://github.com/mozilla/gecko-dev.git
42 строки
702 B
Python
42 строки
702 B
Python
|
import sys
|
||
|
|
||
|
info = sys.version_info
|
||
|
if info[:3] >= (3, 2, 0):
|
||
|
# for Python 3.2 ordinary unittest is fine
|
||
|
import unittest as unittest2
|
||
|
else:
|
||
|
import unittest2
|
||
|
|
||
|
|
||
|
try:
|
||
|
callable = callable
|
||
|
except NameError:
|
||
|
def callable(obj):
|
||
|
return hasattr(obj, '__call__')
|
||
|
|
||
|
|
||
|
inPy3k = sys.version_info[0] == 3
|
||
|
with_available = sys.version_info[:2] >= (2, 5)
|
||
|
|
||
|
|
||
|
def is_instance(obj, klass):
|
||
|
"""Version of is_instance that doesn't access __class__"""
|
||
|
return issubclass(type(obj), klass)
|
||
|
|
||
|
|
||
|
class SomeClass(object):
|
||
|
class_attribute = None
|
||
|
|
||
|
def wibble(self):
|
||
|
pass
|
||
|
|
||
|
|
||
|
class X(object):
|
||
|
pass
|
||
|
|
||
|
try:
|
||
|
next = next
|
||
|
except NameError:
|
||
|
def next(obj):
|
||
|
return obj.next()
|