File: compat.py

package info (click to toggle)
python-docx 0.8.11%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 6,640 kB
  • sloc: xml: 25,311; python: 21,911; makefile: 168
file content (39 lines) | stat: -rw-r--r-- 1,043 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# encoding: utf-8

"""
Provides Python 2/3 compatibility objects
"""

from __future__ import absolute_import, division, print_function, unicode_literals

import sys

# ===========================================================================
# Python 3 versions
# ===========================================================================

if sys.version_info >= (3, 0):

    from collections.abc import Sequence
    from io import BytesIO

    def is_string(obj):
        """Return True if *obj* is a string, False otherwise."""
        return isinstance(obj, str)

    Unicode = str

# ===========================================================================
# Python 2 versions
# ===========================================================================

else:

    from collections import Sequence  # noqa
    from StringIO import StringIO as BytesIO  # noqa

    def is_string(obj):
        """Return True if *obj* is a string, False otherwise."""
        return isinstance(obj, basestring)  # noqa

    Unicode = unicode  # noqa