compat.py (1830B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\datadog\util\compat.py 2 from functools import wraps 3 import logging 4 import socket 5 import sys 6 7 def _is_py_version_higher_than(major, minor = 0): 8 return sys.version_info >= (major, minor) 9 10 11 def is_p3k(): 12 return _is_py_version_higher_than(3) 13 14 15 def is_higher_py35(): 16 return _is_py_version_higher_than(3, 5) 17 18 19 get_input = input 20 if is_p3k(): 21 from io import StringIO 22 import builtins 23 import configparser 24 import urllib.request as url_lib, urllib.error, urllib.parse 25 imap = map 26 text = str 27 28 def iteritems(d): 29 return iter(d.items()) 30 31 32 def iternext(iter): 33 return next(iter) 34 35 36 else: 37 import __builtin__ as builtins 38 from cStringIO import StringIO 39 from itertools import imap 40 import ConfigParser as configparser 41 import urllib2 as url_lib 42 get_input = raw_input 43 text = unicode 44 45 def iteritems(d): 46 return d.iteritems() 47 48 49 def iternext(iter): 50 return iter.next() 51 52 53 if is_higher_py35(): 54 from asyncio import iscoroutinefunction 55 else: 56 57 def iscoroutinefunction(*args, **kwargs): 58 return False 59 60 61 try: 62 from UserDict import IterableUserDict 63 except ImportError: 64 from collections import UserDict as IterableUserDict 65 66 try: 67 from configparser import ConfigParser 68 except ImportError: 69 from ConfigParser import ConfigParser 70 71 try: 72 from urllib.parse import urlparse 73 except ImportError: 74 from urlparse import urlparse 75 76 try: 77 import pkg_resources as pkg 78 except ImportError: 79 pkg = None 80 81 try: 82 import simplejson as json 83 except ImportError: 84 import json 85 86 try: 87 from logging import NullHandler 88 except ImportError: 89 from logging import Handler 90 91 class NullHandler(Handler): 92 93 def emit(self, record): 94 pass