mirror of
https://github.com/gryf/ebook-converter.git
synced 2026-03-01 06:05:55 +01:00
Removed isbytestring function
This commit is contained in:
@@ -117,9 +117,9 @@ def sanitize_file_name(name, substitute='_'):
|
||||
**WARNING:** This function also replaces path separators, so only pass file names
|
||||
and not full paths to it.
|
||||
'''
|
||||
if isbytestring(name):
|
||||
if isinstance(name, bytes):
|
||||
name = name.decode(filesystem_encoding, 'replace')
|
||||
if isbytestring(substitute):
|
||||
if isinstance(substitute, bytes):
|
||||
substitute = substitute.decode(filesystem_encoding, 'replace')
|
||||
chars = (substitute if c in _filename_sanitize_unicode else c for c in name)
|
||||
one = ''.join(chars)
|
||||
@@ -569,12 +569,8 @@ def prepare_string_for_xml(raw, attribute=False):
|
||||
return raw
|
||||
|
||||
|
||||
def isbytestring(obj):
|
||||
return isinstance(obj, bytes)
|
||||
|
||||
|
||||
def force_unicode(obj, enc=preferred_encoding):
|
||||
if isbytestring(obj):
|
||||
if isinstance(obj, bytes):
|
||||
try:
|
||||
obj = obj.decode(enc)
|
||||
except Exception:
|
||||
@@ -586,13 +582,13 @@ def force_unicode(obj, enc=preferred_encoding):
|
||||
obj = obj.decode('utf-8')
|
||||
except Exception:
|
||||
obj = repr(obj)
|
||||
if isbytestring(obj):
|
||||
if isinstance(obj, bytes):
|
||||
obj = obj.decode('utf-8')
|
||||
return obj
|
||||
|
||||
|
||||
def as_unicode(obj, enc=preferred_encoding):
|
||||
if not isbytestring(obj):
|
||||
if not isinstance(obj, bytes):
|
||||
try:
|
||||
obj = str(obj)
|
||||
except Exception:
|
||||
|
||||
@@ -14,8 +14,7 @@ from ebook_converter.ebooks.conversion.preprocess import HTMLPreProcessor
|
||||
from ebook_converter.ptempfile import PersistentTemporaryDirectory
|
||||
from ebook_converter.utils.date import parse_date
|
||||
from ebook_converter.utils.zipfile import ZipFile
|
||||
from ebook_converter import (extract, walk, isbytestring, filesystem_encoding,
|
||||
get_types_map)
|
||||
from ebook_converter import extract, walk, filesystem_encoding, get_types_map
|
||||
from ebook_converter.constants_old import __version__
|
||||
|
||||
|
||||
@@ -88,9 +87,9 @@ class Plumber(object):
|
||||
:param input: Path to input file.
|
||||
:param output: Path to output file/directory
|
||||
'''
|
||||
if isbytestring(input):
|
||||
if isinstance(input, bytes):
|
||||
input = input.decode(filesystem_encoding)
|
||||
if isbytestring(output):
|
||||
if isinstance(output, bytes):
|
||||
output = output.decode(filesystem_encoding)
|
||||
self.original_input_arg = input
|
||||
self.for_regex_wizard = for_regex_wizard
|
||||
|
||||
@@ -9,7 +9,6 @@ from datetime import datetime, time
|
||||
from ebook_converter.ebooks.metadata.book import SERIALIZABLE_FIELDS
|
||||
from ebook_converter.constants_old import filesystem_encoding, preferred_encoding
|
||||
from ebook_converter.library.field_metadata import FieldMetadata
|
||||
from ebook_converter import isbytestring
|
||||
from ebook_converter.polyglot.builtins import as_bytes
|
||||
from ebook_converter.polyglot.binary import as_base64_unicode, from_base64_bytes
|
||||
|
||||
@@ -73,10 +72,10 @@ def object_to_unicode(obj, enc=preferred_encoding):
|
||||
def dec(x):
|
||||
return x.decode(enc, 'replace')
|
||||
|
||||
if isbytestring(obj):
|
||||
if isinstance(obj, bytes):
|
||||
return dec(obj)
|
||||
if isinstance(obj, (list, tuple)):
|
||||
return [dec(x) if isbytestring(x) else object_to_unicode(x) for x in obj]
|
||||
return [dec(x) if isinstance(x, bytes) else object_to_unicode(x) for x in obj]
|
||||
if isinstance(obj, dict):
|
||||
ans = {}
|
||||
for k, v in obj.items():
|
||||
@@ -163,7 +162,7 @@ class JsonCodec(object):
|
||||
value = book.get(key)
|
||||
if key == 'thumbnail':
|
||||
return encode_thumbnail(value)
|
||||
elif isbytestring(value): # str includes bytes
|
||||
elif isinstance(value, bytes): # str includes bytes
|
||||
enc = filesystem_encoding if key == 'lpath' else preferred_encoding
|
||||
return object_to_unicode(value, enc=enc)
|
||||
elif datatype == 'datetime':
|
||||
|
||||
@@ -11,7 +11,7 @@ from lxml.etree import Comment
|
||||
from ebook_converter.ebooks.metadata import string_to_authors, authors_to_string
|
||||
from ebook_converter.ebooks.metadata.book.base import Metadata
|
||||
from ebook_converter.ebooks.chardet import xml_to_unicode
|
||||
from ebook_converter import replace_entities, isbytestring
|
||||
from ebook_converter import replace_entities
|
||||
from ebook_converter.utils.date import parse_date, is_date_undefined
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ def get_metadata_(src, encoding=None):
|
||||
# Meta data definitions as in
|
||||
# https://www.mobileread.com/forums/showpost.php?p=712544&postcount=9
|
||||
|
||||
if isbytestring(src):
|
||||
if isinstance(src, bytes):
|
||||
if not encoding:
|
||||
src = xml_to_unicode(src)[0]
|
||||
else:
|
||||
|
||||
@@ -3,7 +3,6 @@ import os, re, collections
|
||||
from ebook_converter.utils.config import prefs
|
||||
from ebook_converter.constants_old import filesystem_encoding
|
||||
from ebook_converter.ebooks.metadata.opf2 import OPF
|
||||
from ebook_converter import isbytestring
|
||||
from ebook_converter.customize.ui import get_file_type_metadata, set_file_type_metadata
|
||||
from ebook_converter.ebooks.metadata import MetaInformation, string_to_authors
|
||||
|
||||
@@ -126,7 +125,7 @@ def set_metadata(stream, mi, stream_type='lrf', report_error=None):
|
||||
|
||||
|
||||
def metadata_from_filename(name, pat=None, fallback_pat=None):
|
||||
if isbytestring(name):
|
||||
if isinstance(name, bytes):
|
||||
name = name.decode(filesystem_encoding, 'replace')
|
||||
name = name.rpartition('.')[0]
|
||||
mi = MetaInformation(None, None)
|
||||
|
||||
@@ -20,7 +20,7 @@ from ebook_converter import force_unicode
|
||||
from ebook_converter.constants_old import filesystem_encoding, __version__
|
||||
from ebook_converter.ebooks.chardet import xml_to_unicode
|
||||
from ebook_converter.ebooks.conversion.preprocess import CSSPreProcessor
|
||||
from ebook_converter import (isbytestring, as_unicode, get_types_map)
|
||||
from ebook_converter import as_unicode, get_types_map
|
||||
from ebook_converter.ebooks.oeb import parse_utils
|
||||
from ebook_converter.utils.cleantext import clean_xml_chars
|
||||
from ebook_converter.utils.short_uuid import uuid4
|
||||
@@ -501,7 +501,7 @@ class DirContainer(object):
|
||||
|
||||
def __init__(self, path, log, ignore_opf=False):
|
||||
self.log = log
|
||||
if isbytestring(path):
|
||||
if isinstance(path, bytes):
|
||||
path = path.decode(filesystem_encoding)
|
||||
self.opfname = None
|
||||
ext = os.path.splitext(path)[1].lower()
|
||||
|
||||
@@ -12,7 +12,7 @@ from css_parser import (profile as cssprofiles, parseString, parseStyle, log as
|
||||
css_parser_log, CSSParser, profiles, replaceUrls)
|
||||
|
||||
from ebook_converter import constants as const
|
||||
from ebook_converter import force_unicode, as_unicode
|
||||
from ebook_converter import force_unicode
|
||||
from ebook_converter.ebooks import unit_convert
|
||||
from ebook_converter.ebooks.oeb import base
|
||||
from ebook_converter.ebooks.oeb.normalize_css import DEFAULTS, normalizers
|
||||
@@ -303,7 +303,7 @@ class Stylizer(object):
|
||||
try:
|
||||
matches = tuple(select(text))
|
||||
except SelectorError as err:
|
||||
self.logger.error('Ignoring CSS rule with invalid selector: %r (%s)' % (text, as_unicode(err)))
|
||||
self.logger.error('Ignoring CSS rule with invalid selector: %r (%s)' % (text, err))
|
||||
continue
|
||||
|
||||
if fl is not None:
|
||||
|
||||
@@ -3,17 +3,13 @@ Read content from txt file.
|
||||
"""
|
||||
import os, re
|
||||
|
||||
from ebook_converter import prepare_string_for_xml, isbytestring
|
||||
from ebook_converter import prepare_string_for_xml
|
||||
from ebook_converter.ebooks.metadata.opf2 import OPFCreator
|
||||
|
||||
from ebook_converter.ebooks.conversion.preprocess import DocAnalysis
|
||||
from ebook_converter.utils.cleantext import clean_ascii_chars
|
||||
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
HTML_TEMPLATE = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>%s </title></head><body>\n%s\n</body></html>'
|
||||
|
||||
|
||||
@@ -22,7 +18,7 @@ def clean_txt(txt):
|
||||
Run transformations on the text to put it into
|
||||
consistent state.
|
||||
'''
|
||||
if isbytestring(txt):
|
||||
if isinstance(txt, bytes):
|
||||
txt = txt.decode('utf-8', 'replace')
|
||||
# Strip whitespace from the end of the line. Also replace
|
||||
# all line breaks with \n.
|
||||
@@ -69,7 +65,7 @@ def split_txt(txt, epub_split_size_kb=0):
|
||||
txt = b'\n\n'.join([
|
||||
split_string_separator(line, chunk_size) for line in parts
|
||||
])
|
||||
if isbytestring(txt):
|
||||
if isinstance(txt, bytes):
|
||||
txt = txt.decode('utf-8')
|
||||
|
||||
return txt
|
||||
|
||||
@@ -8,7 +8,7 @@ import shutil
|
||||
import time
|
||||
from math import ceil
|
||||
|
||||
from ebook_converter import force_unicode, isbytestring, prints, sanitize_file_name
|
||||
from ebook_converter import force_unicode, prints, sanitize_file_name
|
||||
from ebook_converter.constants_old import (
|
||||
filesystem_encoding, iswindows, plugins, preferred_encoding, isosx
|
||||
)
|
||||
@@ -145,7 +145,7 @@ def case_preserving_open_file(path, mode='wb', mkdir_mode=0o777):
|
||||
mkdir_mode specifies the mode with which any missing directories in path
|
||||
are created.
|
||||
'''
|
||||
if isbytestring(path):
|
||||
if isinstance(path, bytes):
|
||||
path = path.decode(filesystem_encoding)
|
||||
|
||||
path = os.path.abspath(path)
|
||||
@@ -220,7 +220,7 @@ def windows_get_fileid(path):
|
||||
all hardlinks to a file). Similar to inode number on linux. '''
|
||||
import win32file
|
||||
from pywintypes import error
|
||||
if isbytestring(path):
|
||||
if isinstance(path, bytes):
|
||||
path = path.decode(filesystem_encoding)
|
||||
try:
|
||||
h = win32file.CreateFileW(path, 0, 0, None, win32file.OPEN_EXISTING,
|
||||
@@ -278,7 +278,7 @@ def windows_get_size(path):
|
||||
not in the directory entry (which could be out of date). So we open the
|
||||
file, and get the actual size. '''
|
||||
import win32file
|
||||
if isbytestring(path):
|
||||
if isinstance(path, bytes):
|
||||
path = path.decode(filesystem_encoding)
|
||||
h = win32file.CreateFileW(
|
||||
path, 0, win32file.FILE_SHARE_READ | win32file.FILE_SHARE_WRITE | win32file.FILE_SHARE_DELETE,
|
||||
@@ -331,7 +331,7 @@ def windows_fast_hardlink(src, dest):
|
||||
def windows_nlinks(path):
|
||||
import win32file
|
||||
dwFlagsAndAttributes = win32file.FILE_FLAG_BACKUP_SEMANTICS if os.path.isdir(path) else 0
|
||||
if isbytestring(path):
|
||||
if isinstance(path, bytes):
|
||||
path = path.decode(filesystem_encoding)
|
||||
handle = win32file.CreateFileW(path, win32file.GENERIC_READ, win32file.FILE_SHARE_READ, None, win32file.OPEN_EXISTING, dwFlagsAndAttributes, None)
|
||||
try:
|
||||
@@ -357,7 +357,7 @@ class WindowsAtomicFolderMove(object):
|
||||
from pywintypes import error
|
||||
from collections import defaultdict
|
||||
|
||||
if isbytestring(path):
|
||||
if isinstance(path, bytes):
|
||||
path = path.decode(filesystem_encoding)
|
||||
|
||||
if not os.path.exists(path):
|
||||
|
||||
@@ -5,7 +5,7 @@ import sys, traceback, io
|
||||
from functools import partial
|
||||
from threading import Lock
|
||||
|
||||
from ebook_converter import isbytestring, force_unicode, as_unicode, prints
|
||||
from ebook_converter import force_unicode, as_unicode, prints
|
||||
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
@@ -108,7 +108,7 @@ class UnicodeHTMLStream(HTMLStream):
|
||||
end = kwargs.get(u'end', u'\n')
|
||||
|
||||
for arg in args:
|
||||
if isbytestring(arg):
|
||||
if isinstance(arg, bytes):
|
||||
arg = force_unicode(arg)
|
||||
elif not isinstance(arg, str):
|
||||
arg = as_unicode(arg)
|
||||
|
||||
Reference in New Issue
Block a user