compat.py 1023 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. import tablib.packages.xlwt3 as xlwt
  16. from tablib.packages import markup3 as markup
  17. from tablib.packages import openpyxl3 as openpyxl
  18. from tablib.packages.odf3 import opendocument, style, text, table
  19. import csv
  20. from io import StringIO
  21. # py3 mappings
  22. unicode = str
  23. bytes = bytes
  24. basestring = str
  25. else:
  26. from cStringIO import StringIO as BytesIO
  27. from cStringIO import StringIO
  28. import tablib.packages.xlwt as xlwt
  29. from tablib.packages import markup
  30. from itertools import ifilter
  31. from tablib.packages import openpyxl
  32. from tablib.packages.odf import opendocument, style, text, table
  33. from tablib.packages import unicodecsv as csv
  34. unicode = unicode