2025-10-10 09:46:41 +02:00

82 lines
1.8 KiB
Python

"""
pyexcel._compact
~~~~~~~~~~~~~~~~~~~
Compatibles
:copyright: (c) 2014-2025 by Onni Software Ltd.
:license: New BSD License, see LICENSE for more details
"""
# flake8: noqa
# pylint: disable=unused-import
# pylint: disable=import-error
# pylint: disable=no-name-in-module
# pylint: disable=invalid-name
# pylint: disable=too-few-public-methods
# pylint: disable=ungrouped-imports
import sys
import warnings
from io import BytesIO, StringIO
from urllib import request
from pathlib import Path
from textwrap import dedent
from itertools import zip_longest
from collections import OrderedDict
PY2 = sys.version_info[0] == 2
PY26 = PY2 and sys.version_info[1] < 7
PY3_AND_ABOVE = sys.version_info[0] >= 3
Iterator = object
irange = range
czip = zip
def is_tuple_consists_of_strings(an_array):
"""check if all member were string type"""
return isinstance(an_array, tuple) and is_array_type(an_array, str)
def is_array_type(an_array, atype):
"""check if all members are of the same type"""
tmp = [i for i in an_array if not isinstance(i, atype)]
return len(tmp) == 0
def is_string(atype):
"""find out if a type is str or not"""
if atype == str:
return True
if PY2:
if atype == unicode:
return True
return False
def deprecated(func, message="Deprecated!"):
"""Print deprecated message"""
def inner(*arg, **keywords):
"""Print deperecated message"""
warnings.warn(message, DeprecationWarning)
return func(*arg, **keywords)
return inner
def append_doc(value):
def _doc(func):
if func.__doc__:
func.__doc__ = dedent(func.__doc__) + "\n" + value
return func
return _doc
def get_string_file_name(file_name):
if isinstance(file_name, Path):
file_name = str(file_name.resolve())
return file_name