compat.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -*- coding: utf-8 -*-
  2. #
  3. # Python compatibility
  4. #
  5. # Copyright 2012-2020 Michael Buesch <m@bues.ch>
  6. #
  7. # This program is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 2 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # This program is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License along
  18. # with this program; if not, write to the Free Software Foundation, Inc.,
  19. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  20. #
  21. from __future__ import division, absolute_import, print_function, unicode_literals
  22. import sys
  23. __all__ = [
  24. "isPy3Compat",
  25. "isPy2Compat",
  26. "isMicropython",
  27. "IOError",
  28. ]
  29. # isPy3Compat is True, if the interpreter is Python 3 compatible.
  30. isPy3Compat = sys.version_info[0] == 3
  31. # isPy2Compat is True, if the interpreter is Python 2 compatible.
  32. isPy2Compat = sys.version_info[0] == 2
  33. # isMicroPython is True, if the interpreter is Micropython
  34. isMicropython = hasattr(sys, "implementation") and sys.implementation.name == "micropython"
  35. # IOError dummy
  36. try:
  37. IOError = IOError
  38. except NameError:
  39. IOError = OSError