Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1import sys 

2 

3 

4PY2 = sys.version_info[0] == 2 

5PY3 = not PY2 

6 

7if PY2: 

8 string_types = (basestring,) 

9 text_type = unicode 

10else: 

11 string_types = (str,) 

12 text_type = str 

13 

14 

15def text_(s, encoding='latin-1', errors='strict'): 

16 """ If ``s`` is an instance of ``bytes``, return ``s.decode(encoding, 

17 errors)``, otherwise return ``s``""" 

18 if isinstance(s, bytes): 

19 return s.decode(encoding, errors) 

20 return s # pragma: no cover 

21 

22 

23if PY2: 

24 

25 def is_nonstr_iter(v): 

26 return hasattr(v, '__iter__') 

27 

28 

29else: 

30 

31 def is_nonstr_iter(v): 

32 if isinstance(v, str): 

33 return False 

34 return hasattr(v, '__iter__') 

35 

36 

37try: 

38 xrange = xrange 

39except NameError: # pragma: no cover 

40 xrange = range 

41 

42try: 

43 from cPickle import loads, dumps, HIGHEST_PROTOCOL 

44except ImportError: # pragma: no cover 

45 from pickle import loads, dumps, HIGHEST_PROTOCOL