esphome/esphomeyaml/py_compat.py
2019-01-03 16:05:33 +01:00

47 lines
817 B
Python

import sys
PYTHON_MAJOR = sys.version_info[0]
IS_PY2 = PYTHON_MAJOR == 2
IS_PY3 = PYTHON_MAJOR == 3
# pylint: disable=no-else-return
def safe_input(line):
if IS_PY2:
return raw_input(line)
else:
return input(line)
if IS_PY2:
text_type = unicode
string_types = (str, unicode)
integer_types = (int, long)
binary_type = str
else:
text_type = str
string_types = (str,)
integer_types = (int,)
binary_type = bytes
def byte(val):
if IS_PY2:
return chr(val)
else:
return bytes([val])
def char(val):
if IS_PY2:
return ord(val)
else:
return val
def format_bytes(val):
if IS_PY2:
return ' '.join('{:02X}'.format(ord(x)) for x in val)
else:
return ' '.join('{:02X}'.format(x) for x in val)