compat.py 833 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. """
  3. tablib.compat
  4. ~~~~~~~~~~~~~
  5. Tablib compatiblity module.
  6. """
  7. import sys
  8. is_py3 = (sys.version_info[0] > 2)
  9. try:
  10. from collections import OrderedDict
  11. except ImportError:
  12. from tablib.packages.ordereddict import OrderedDict
  13. if is_py3:
  14. from io import BytesIO
  15. from tablib.packages import markup3 as markup
  16. import tablib.packages.dbfpy3 as dbfpy
  17. import csv
  18. from io import StringIO
  19. # py3 mappings
  20. ifilter = filter
  21. unicode = str
  22. bytes = bytes
  23. basestring = str
  24. xrange = range
  25. else:
  26. from cStringIO import StringIO as BytesIO
  27. from cStringIO import StringIO
  28. from tablib.packages import markup
  29. from itertools import ifilter
  30. import unicodecsv as csv
  31. import tablib.packages.dbfpy as dbfpy
  32. unicode = unicode
  33. xrange = xrange