diff env/lib/python3.7/site-packages/humanfriendly/compat.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/humanfriendly/compat.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-# Human friendly input/output in Python.
-#
-# Author: Peter Odding <peter@peterodding.com>
-# Last Change: March 1, 2020
-# URL: https://humanfriendly.readthedocs.io
-
-"""
-Compatibility with Python 2 and 3.
-
-This module exposes aliases and functions that make it easier to write Python
-code that is compatible with Python 2 and Python 3.
-
-.. data:: basestring
-
-   Alias for :func:`python2:basestring` (in Python 2) or :class:`python3:str`
-   (in Python 3). See also :func:`is_string()`.
-
-.. data:: HTMLParser
-
-   Alias for :class:`python2:HTMLParser.HTMLParser` (in Python 2) or
-   :class:`python3:html.parser.HTMLParser` (in Python 3).
-
-.. data:: interactive_prompt
-
-   Alias for :func:`python2:raw_input()` (in Python 2) or
-   :func:`python3:input()` (in Python 3).
-
-.. data:: StringIO
-
-   Alias for :class:`python2:StringIO.StringIO` (in Python 2) or
-   :class:`python3:io.StringIO` (in Python 3).
-
-.. data:: unicode
-
-   Alias for :func:`python2:unicode` (in Python 2) or :class:`python3:str` (in
-   Python 3). See also :func:`coerce_string()`.
-
-.. data:: monotonic
-
-   Alias for :func:`python3:time.monotonic()` (in Python 3.3 and higher) or
-   `monotonic.monotonic()` (a `conditional dependency
-   <https://pypi.org/project/monotonic/>`_ on older Python versions).
-"""
-
-__all__ = (
-    'HTMLParser',
-    'StringIO',
-    'basestring',
-    'coerce_string',
-    'interactive_prompt',
-    'is_string',
-    'is_unicode',
-    'monotonic',
-    'name2codepoint',
-    'on_windows',
-    'unichr',
-    'unicode',
-    # This export remains here so as not to break my dozen or so other Python
-    # projects using 'from humanfriendly.compat import unittest' from good old
-    # times (when Python 2.6 was still a thing). It will eventually be removed.
-    'unittest',
-    'which',
-)
-
-# Standard library modules.
-import sys
-import unittest
-
-# Differences between Python 2 and 3.
-try:
-    # Python 2.
-    unicode = unicode
-    unichr = unichr
-    basestring = basestring
-    interactive_prompt = raw_input
-    from distutils.spawn import find_executable as which
-    from HTMLParser import HTMLParser
-    from StringIO import StringIO
-    from htmlentitydefs import name2codepoint
-except (ImportError, NameError):
-    # Python 3.
-    unicode = str
-    unichr = chr
-    basestring = str
-    interactive_prompt = input
-    from shutil import which
-    from html.parser import HTMLParser
-    from io import StringIO
-    from html.entities import name2codepoint
-
-try:
-    # Python 3.3 and higher.
-    from time import monotonic
-except ImportError:
-    # A replacement for older Python versions:
-    # https://pypi.org/project/monotonic/
-    try:
-        from monotonic import monotonic
-    except (ImportError, RuntimeError):
-        # We fall back to the old behavior of using time.time() instead of
-        # failing when {time,monotonic}.monotonic() are both missing.
-        from time import time as monotonic
-
-
-def coerce_string(value):
-    """
-    Coerce any value to a Unicode string (:func:`python2:unicode` in Python 2 and :class:`python3:str` in Python 3).
-
-    :param value: The value to coerce.
-    :returns: The value coerced to a Unicode string.
-    """
-    return value if is_string(value) else unicode(value)
-
-
-def is_string(value):
-    """
-    Check if a value is a :func:`python2:basestring` (in Python 2) or :class:`python3:str` (in Python 3) object.
-
-    :param value: The value to check.
-    :returns: :data:`True` if the value is a string, :data:`False` otherwise.
-    """
-    return isinstance(value, basestring)
-
-
-def is_unicode(value):
-    """
-    Check if a value is a :func:`python2:unicode` (in Python 2) or :class:`python2:str` (in Python 3) object.
-
-    :param value: The value to check.
-    :returns: :data:`True` if the value is a Unicode string, :data:`False` otherwise.
-    """
-    return isinstance(value, unicode)
-
-
-def on_windows():
-    """
-    Check if we're running on the Microsoft Windows OS.
-
-    :returns: :data:`True` if running Windows, :data:`False` otherwise.
-    """
-    return sys.platform.startswith('win')