compat.py 1.2 KB

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