_compat.py 660 B

12345678910111213141516171819202122232425262728293031323334353637
  1. # -*- coding: utf-8 -*-
  2. """
  3. flaskext.sqlalchemy._compat
  4. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5. Internal Python 2.x/3.x compatibility layer.
  6. :copyright: (c) 2013 by Daniel Neuhäuser
  7. :license: BSD, see LICENSE for more details.
  8. """
  9. import sys
  10. PY2 = sys.version_info[0] == 2
  11. if PY2:
  12. def iteritems(d):
  13. return d.iteritems()
  14. def itervalues(d):
  15. return d.itervalues()
  16. xrange = xrange
  17. string_types = (unicode, bytes)
  18. else:
  19. def iteritems(d):
  20. return iter(d.items())
  21. def itervalues(d):
  22. return iter(d.values())
  23. xrange = range
  24. string_types = (str, )