diff env/lib/python3.7/site-packages/ruamel/yaml/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/ruamel/yaml/compat.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-# coding: utf-8
-
-from __future__ import print_function
-
-# partially from package six by Benjamin Peterson
-
-import sys
-import os
-import types
-import traceback
-from abc import abstractmethod
-
-
-# fmt: off
-if False:  # MYPY
-    from typing import Any, Dict, Optional, List, Union, BinaryIO, IO, Text, Tuple, Optional  # NOQA
-# fmt: on
-
-_DEFAULT_YAML_VERSION = (1, 2)
-
-try:
-    from ruamel.ordereddict import ordereddict
-except:  # NOQA
-    try:
-        from collections import OrderedDict
-    except ImportError:
-        from ordereddict import OrderedDict  # type: ignore
-    # to get the right name import ... as ordereddict doesn't do that
-
-    class ordereddict(OrderedDict):  # type: ignore
-        if not hasattr(OrderedDict, 'insert'):
-
-            def insert(self, pos, key, value):
-                # type: (int, Any, Any) -> None
-                if pos >= len(self):
-                    self[key] = value
-                    return
-                od = ordereddict()
-                od.update(self)
-                for k in od:
-                    del self[k]
-                for index, old_key in enumerate(od):
-                    if pos == index:
-                        self[key] = value
-                    self[old_key] = od[old_key]
-
-
-PY2 = sys.version_info[0] == 2
-PY3 = sys.version_info[0] == 3
-
-
-if PY3:
-
-    def utf8(s):
-        # type: (str) -> str
-        return s
-
-    def to_str(s):
-        # type: (str) -> str
-        return s
-
-    def to_unicode(s):
-        # type: (str) -> str
-        return s
-
-
-else:
-    if False:
-        unicode = str
-
-    def utf8(s):
-        # type: (unicode) -> str
-        return s.encode('utf-8')
-
-    def to_str(s):
-        # type: (str) -> str
-        return str(s)
-
-    def to_unicode(s):
-        # type: (str) -> unicode
-        return unicode(s)  # NOQA
-
-
-if PY3:
-    string_types = str
-    integer_types = int
-    class_types = type
-    text_type = str
-    binary_type = bytes
-
-    MAXSIZE = sys.maxsize
-    unichr = chr
-    import io
-
-    StringIO = io.StringIO
-    BytesIO = io.BytesIO
-    # have unlimited precision
-    no_limit_int = int
-    from collections.abc import Hashable, MutableSequence, MutableMapping, Mapping  # NOQA
-
-else:
-    string_types = basestring  # NOQA
-    integer_types = (int, long)  # NOQA
-    class_types = (type, types.ClassType)
-    text_type = unicode  # NOQA
-    binary_type = str
-
-    # to allow importing
-    unichr = unichr  # type: ignore
-    from StringIO import StringIO as _StringIO
-
-    StringIO = _StringIO
-    import cStringIO
-
-    BytesIO = cStringIO.StringIO
-    # have unlimited precision
-    no_limit_int = long  # NOQA not available on Python 3
-    from collections import Hashable, MutableSequence, MutableMapping, Mapping  # NOQA
-
-if False:  # MYPY
-    # StreamType = Union[BinaryIO, IO[str], IO[unicode],  StringIO]
-    # StreamType = Union[BinaryIO, IO[str], StringIO]  # type: ignore
-    StreamType = Any
-
-    StreamTextType = Union[Text, StreamType]
-    VersionType = Union[List[int], str, Tuple[int, int]]
-
-if PY3:
-    builtins_module = 'builtins'
-else:
-    builtins_module = '__builtin__'
-
-UNICODE_SIZE = 4 if sys.maxunicode > 65535 else 2
-
-
-def with_metaclass(meta, *bases):
-    # type: (Any, Any) -> Any
-    """Create a base class with a metaclass."""
-    return meta('NewBase', bases, {})
-
-
-DBG_TOKEN = 1
-DBG_EVENT = 2
-DBG_NODE = 4
-
-
-_debug = None  # type: Optional[int]
-if 'RUAMELDEBUG' in os.environ:
-    _debugx = os.environ.get('RUAMELDEBUG')
-    if _debugx is None:
-        _debug = 0
-    else:
-        _debug = int(_debugx)
-
-
-if bool(_debug):
-
-    class ObjectCounter(object):
-        def __init__(self):
-            # type: () -> None
-            self.map = {}  # type: Dict[Any, Any]
-
-        def __call__(self, k):
-            # type: (Any) -> None
-            self.map[k] = self.map.get(k, 0) + 1
-
-        def dump(self):
-            # type: () -> None
-            for k in sorted(self.map):
-                sys.stdout.write('{} -> {}'.format(k, self.map[k]))
-
-    object_counter = ObjectCounter()
-
-
-# used from yaml util when testing
-def dbg(val=None):
-    # type: (Any) -> Any
-    global _debug
-    if _debug is None:
-        # set to true or false
-        _debugx = os.environ.get('YAMLDEBUG')
-        if _debugx is None:
-            _debug = 0
-        else:
-            _debug = int(_debugx)
-    if val is None:
-        return _debug
-    return _debug & val
-
-
-class Nprint(object):
-    def __init__(self, file_name=None):
-        # type: (Any) -> None
-        self._max_print = None  # type: Any
-        self._count = None  # type: Any
-        self._file_name = file_name
-
-    def __call__(self, *args, **kw):
-        # type: (Any, Any) -> None
-        if not bool(_debug):
-            return
-        out = sys.stdout if self._file_name is None else open(self._file_name, 'a')
-        dbgprint = print  # to fool checking for print statements by dv utility
-        kw1 = kw.copy()
-        kw1['file'] = out
-        dbgprint(*args, **kw1)
-        out.flush()
-        if self._max_print is not None:
-            if self._count is None:
-                self._count = self._max_print
-            self._count -= 1
-            if self._count == 0:
-                dbgprint('forced exit\n')
-                traceback.print_stack()
-                out.flush()
-                sys.exit(0)
-        if self._file_name:
-            out.close()
-
-    def set_max_print(self, i):
-        # type: (int) -> None
-        self._max_print = i
-        self._count = None
-
-
-nprint = Nprint()
-nprintf = Nprint('/var/tmp/ruamel.yaml.log')
-
-# char checkers following production rules
-
-
-def check_namespace_char(ch):
-    # type: (Any) -> bool
-    if u'\x21' <= ch <= u'\x7E':  # ! to ~
-        return True
-    if u'\xA0' <= ch <= u'\uD7FF':
-        return True
-    if (u'\uE000' <= ch <= u'\uFFFD') and ch != u'\uFEFF':  # excl. byte order mark
-        return True
-    if u'\U00010000' <= ch <= u'\U0010FFFF':
-        return True
-    return False
-
-
-def check_anchorname_char(ch):
-    # type: (Any) -> bool
-    if ch in u',[]{}':
-        return False
-    return check_namespace_char(ch)
-
-
-def version_tnf(t1, t2=None):
-    # type: (Any, Any) -> Any
-    """
-    return True if ruamel.yaml version_info < t1, None if t2 is specified and bigger else False
-    """
-    from ruamel.yaml import version_info  # NOQA
-
-    if version_info < t1:
-        return True
-    if t2 is not None and version_info < t2:
-        return None
-    return False
-
-
-class MutableSliceableSequence(MutableSequence):  # type: ignore
-    __slots__ = ()
-
-    def __getitem__(self, index):
-        # type: (Any) -> Any
-        if not isinstance(index, slice):
-            return self.__getsingleitem__(index)
-        return type(self)([self[i] for i in range(*index.indices(len(self)))])  # type: ignore
-
-    def __setitem__(self, index, value):
-        # type: (Any, Any) -> None
-        if not isinstance(index, slice):
-            return self.__setsingleitem__(index, value)
-        assert iter(value)
-        # nprint(index.start, index.stop, index.step, index.indices(len(self)))
-        if index.step is None:
-            del self[index.start : index.stop]
-            for elem in reversed(value):
-                self.insert(0 if index.start is None else index.start, elem)
-        else:
-            range_parms = index.indices(len(self))
-            nr_assigned_items = (range_parms[1] - range_parms[0] - 1) // range_parms[2] + 1
-            # need to test before changing, in case TypeError is caught
-            if nr_assigned_items < len(value):
-                raise TypeError(
-                    'too many elements in value {} < {}'.format(nr_assigned_items, len(value))
-                )
-            elif nr_assigned_items > len(value):
-                raise TypeError(
-                    'not enough elements in value {} > {}'.format(
-                        nr_assigned_items, len(value)
-                    )
-                )
-            for idx, i in enumerate(range(*range_parms)):
-                self[i] = value[idx]
-
-    def __delitem__(self, index):
-        # type: (Any) -> None
-        if not isinstance(index, slice):
-            return self.__delsingleitem__(index)
-        # nprint(index.start, index.stop, index.step, index.indices(len(self)))
-        for i in reversed(range(*index.indices(len(self)))):
-            del self[i]
-
-    @abstractmethod
-    def __getsingleitem__(self, index):
-        # type: (Any) -> Any
-        raise IndexError
-
-    @abstractmethod
-    def __setsingleitem__(self, index, value):
-        # type: (Any, Any) -> None
-        raise IndexError
-
-    @abstractmethod
-    def __delsingleitem__(self, index):
-        # type: (Any) -> None
-        raise IndexError