mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Work on removing use of _ from builtins
This commit is contained in:
parent
36ff53ca30
commit
8b71e251c4
@ -7,7 +7,7 @@ from operator import itemgetter
|
||||
from qt.core import (
|
||||
QAbstractItemView, QAction, QComboBox, QGridLayout, QHBoxLayout, QIcon,
|
||||
QInputDialog, QItemSelectionModel, QLabel, QListWidget, QListWidgetItem,
|
||||
QPushButton, Qt, QWidget, pyqtSignal
|
||||
QPushButton, Qt, QWidget, pyqtSignal,
|
||||
)
|
||||
|
||||
from calibre.gui2 import choose_files, choose_save_file
|
||||
@ -17,6 +17,7 @@ from calibre.gui2.viewer.shortcuts import get_shortcut_for
|
||||
from calibre.gui2.viewer.web_view import vprefs
|
||||
from calibre.utils.date import EPOCH, utcnow
|
||||
from calibre.utils.icu import primary_sort_key
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
class BookmarksList(QListWidget):
|
||||
|
@ -28,7 +28,7 @@ from calibre.gui2.viewer.config import vprefs
|
||||
from calibre.gui2.viewer.search import SearchInput
|
||||
from calibre.gui2.viewer.shortcuts import get_shortcut_for, index_to_key_sequence
|
||||
from calibre.gui2.widgets2 import Dialog
|
||||
from calibre.utils.localization import ngettext
|
||||
from calibre.utils.localization import _, ngettext
|
||||
from calibre_extensions.progress_indicator import set_no_activate_on_click
|
||||
|
||||
decoration_cache = {}
|
||||
|
@ -18,7 +18,7 @@ from calibre import prints, random_user_agent
|
||||
from calibre.gui2 import error_dialog
|
||||
from calibre.gui2.viewer.web_view import apply_font_settings, vprefs
|
||||
from calibre.gui2.widgets2 import Dialog
|
||||
from calibre.utils.localization import canonicalize_lang, get_lang, lang_as_iso639_1
|
||||
from calibre.utils.localization import _, canonicalize_lang, get_lang, lang_as_iso639_1
|
||||
from calibre.utils.resources import get_path as P
|
||||
from calibre.utils.webengine import (
|
||||
create_script, insert_scripts, secure_webengine, setup_profile,
|
||||
|
@ -16,6 +16,7 @@ from calibre.gui2.viewer.ui import EbookViewer, is_float
|
||||
from calibre.ptempfile import reset_base_dir
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.ipc import viewer_socket_address
|
||||
from calibre.utils.localization import _
|
||||
|
||||
singleinstance_name = 'calibre_viewer'
|
||||
|
||||
@ -168,6 +169,7 @@ def run_gui(app, opts, args, internal_book_data, listener=None):
|
||||
|
||||
def main(args=sys.argv):
|
||||
from calibre.utils.webengine import setup_fake_protocol
|
||||
|
||||
# Ensure viewer can continue to function if GUI is closed
|
||||
os.environ.pop('CALIBRE_WORKER_TEMP_DIR', None)
|
||||
reset_base_dir()
|
||||
|
@ -5,18 +5,16 @@
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from threading import Thread
|
||||
|
||||
from qt.core import (
|
||||
QCheckBox, QDoubleSpinBox, QFormLayout, QHBoxLayout, QIcon, QLabel, QDialog,
|
||||
QLineEdit, QPageSize, QProgressDialog, QTimer, QToolButton, QVBoxLayout
|
||||
QCheckBox, QDialog, QDoubleSpinBox, QFormLayout, QHBoxLayout, QIcon, QLabel,
|
||||
QLineEdit, QPageSize, QProgressDialog, QTimer, QToolButton, QVBoxLayout,
|
||||
)
|
||||
from threading import Thread
|
||||
|
||||
from calibre import sanitize_file_name
|
||||
from calibre.ebooks.conversion.plugins.pdf_output import PAPER_SIZES
|
||||
from calibre.gui2 import (
|
||||
Application, choose_save_file, dynamic, elided_text, error_dialog,
|
||||
open_local_file
|
||||
Application, choose_save_file, dynamic, elided_text, error_dialog, open_local_file,
|
||||
)
|
||||
from calibre.gui2.widgets import PaperSizes
|
||||
from calibre.gui2.widgets2 import Dialog
|
||||
@ -24,9 +22,9 @@ from calibre.ptempfile import PersistentTemporaryFile
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.filenames import expanduser
|
||||
from calibre.utils.ipc.simple_worker import start_pipe_worker
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.serialize import msgpack_dumps, msgpack_loads
|
||||
|
||||
|
||||
vprefs = JSONConfig('viewer')
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ from calibre.gui2.viewer.config import vprefs
|
||||
from calibre.gui2.viewer.web_view import get_data, get_manifest
|
||||
from calibre.gui2.viewer.widgets import ResultsDelegate, SearchBox
|
||||
from calibre.utils.icu import primary_collator_without_punctuation
|
||||
from calibre.utils.localization import ngettext
|
||||
from calibre.utils.localization import _, ngettext
|
||||
from polyglot.builtins import iteritems
|
||||
from polyglot.functools import lru_cache
|
||||
from polyglot.queue import Queue
|
||||
|
@ -6,14 +6,15 @@ import re
|
||||
from functools import partial
|
||||
from qt.core import (
|
||||
QAbstractItemView, QApplication, QEvent, QFont, QHBoxLayout, QIcon, QMenu,
|
||||
QModelIndex, QStandardItem, QStandardItemModel, QStyledItemDelegate,
|
||||
Qt, QToolButton, QToolTip, QTreeView, QWidget, pyqtSignal
|
||||
QModelIndex, QStandardItem, QStandardItemModel, QStyledItemDelegate, Qt,
|
||||
QToolButton, QToolTip, QTreeView, QWidget, pyqtSignal,
|
||||
)
|
||||
|
||||
from calibre.gui2 import error_dialog
|
||||
from calibre.gui2.search_box import SearchBox2
|
||||
from calibre.gui2.gestures import GestureManager
|
||||
from calibre.gui2.search_box import SearchBox2
|
||||
from calibre.utils.icu import primary_contains
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
class Delegate(QStyledItemDelegate):
|
||||
|
@ -19,6 +19,7 @@ from calibre.gui2.viewer.web_view import set_book_path, vprefs
|
||||
from calibre.gui2.widgets2 import Dialog
|
||||
from calibre.startup import connect_lambda
|
||||
from calibre.utils.icu import primary_sort_key
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
class Action:
|
||||
|
@ -6,6 +6,7 @@ from qt.core import QDialog, QDialogButtonBox, QObject, QVBoxLayout, pyqtSignal
|
||||
from calibre.gui2 import error_dialog
|
||||
from calibre.gui2.viewer.config import get_pref_group, vprefs
|
||||
from calibre.gui2.widgets2 import Dialog
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
def set_sync_override(allowed):
|
||||
|
@ -48,6 +48,7 @@ from calibre.startup import connect_lambda
|
||||
from calibre.utils.date import utcnow
|
||||
from calibre.utils.img import image_from_path
|
||||
from calibre.utils.ipc.simple_worker import WorkerError
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import as_bytes, as_unicode, iteritems, itervalues
|
||||
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
@ -28,7 +27,7 @@ from calibre.gui2.viewer.config import viewer_config_dir, vprefs
|
||||
from calibre.gui2.viewer.tts import TTS
|
||||
from calibre.gui2.webengine import RestartingWebEngineView
|
||||
from calibre.srv.code import get_translations_data
|
||||
from calibre.utils.localization import localize_user_manual_link
|
||||
from calibre.utils.localization import _, localize_user_manual_link
|
||||
from calibre.utils.resources import get_path as P
|
||||
from calibre.utils.serialize import json_loads
|
||||
from calibre.utils.shared_file import share_open
|
||||
|
@ -2,13 +2,13 @@
|
||||
# License: GPL v3 Copyright: 2020, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
import re
|
||||
|
||||
from qt.core import (
|
||||
QAction, QFont, QFontMetrics, QStyle, QStyledItemDelegate, Qt, pyqtSignal, QPalette
|
||||
QAction, QFont, QFontMetrics, QPalette, QStyle, QStyledItemDelegate, Qt, pyqtSignal,
|
||||
)
|
||||
|
||||
from calibre.gui2 import QT_HIDDEN_CLEAR_ACTION
|
||||
from calibre.gui2.widgets2 import HistoryComboBox
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
class ResultsDelegate(QStyledItemDelegate): # {{{
|
||||
|
@ -25,7 +25,7 @@ from calibre.gui2.filename_pattern_ui import Ui_Form
|
||||
from calibre.gui2.progress_indicator import ProgressIndicator as _ProgressIndicator
|
||||
from calibre.startup import connect_lambda
|
||||
from calibre.utils.config import XMLConfig, prefs
|
||||
from calibre.utils.localization import localize_user_manual_link
|
||||
from calibre.utils.localization import _, localize_user_manual_link
|
||||
from polyglot.builtins import native_string_type
|
||||
|
||||
history = XMLConfig('history')
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
import weakref
|
||||
from qt.core import (
|
||||
QApplication, QBrush, QByteArray, QCalendarWidget, QCheckBox, QColor,
|
||||
QColorDialog, QComboBox, QDate, QDateTime, QDateTimeEdit, QDialog,
|
||||
QDialogButtonBox, QFont, QFontInfo, QFontMetrics, QFrame, QIcon, QKeySequence,
|
||||
QLabel, QLayout, QMenu, QMimeData, QPainter, QPalette, QPixmap, QPoint,
|
||||
QPushButton, QRect, QScrollArea, QSize, QSizePolicy, QStyle, QStyledItemDelegate,
|
||||
QStyleOptionToolButton, QStylePainter, Qt, QTabWidget, QTextBrowser, QTextCursor,
|
||||
QToolButton, QUndoCommand, QUndoStack, QUrl, QWidget, pyqtSignal
|
||||
QApplication, QBrush, QByteArray, QCalendarWidget, QCheckBox, QColor, QColorDialog,
|
||||
QComboBox, QDate, QDateTime, QDateTimeEdit, QDialog, QDialogButtonBox, QFont,
|
||||
QFontInfo, QFontMetrics, QFrame, QIcon, QKeySequence, QLabel, QLayout, QMenu,
|
||||
QMimeData, QPainter, QPalette, QPixmap, QPoint, QPushButton, QRect, QScrollArea,
|
||||
QSize, QSizePolicy, QStyle, QStyledItemDelegate, QStyleOptionToolButton,
|
||||
QStylePainter, Qt, QTabWidget, QTextBrowser, QTextCursor, QToolButton, QUndoCommand,
|
||||
QUndoStack, QUrl, QWidget, pyqtSignal,
|
||||
)
|
||||
|
||||
from calibre.ebooks.metadata import rating_to_stars
|
||||
@ -19,6 +19,7 @@ from calibre.gui2.complete2 import EditWithComplete, LineEdit
|
||||
from calibre.gui2.widgets import history
|
||||
from calibre.utils.config_base import tweaks
|
||||
from calibre.utils.date import UNDEFINED_DATE
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.functools import lru_cache
|
||||
|
||||
|
||||
|
@ -6,11 +6,11 @@ import os
|
||||
import struct
|
||||
import subprocess
|
||||
import sys
|
||||
from contextlib import suppress
|
||||
from threading import Thread
|
||||
from uuid import uuid4
|
||||
from contextlib import suppress
|
||||
|
||||
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import string_or_bytes
|
||||
|
||||
base = sys.extensions_location if hasattr(sys, 'new_app_layout') else os.path.dirname(sys.executable)
|
||||
|
@ -10,8 +10,8 @@ import re
|
||||
import traceback
|
||||
from contextlib import closing, suppress
|
||||
from qt.core import (
|
||||
QAbstractListModel, QDir, QIcon, QItemSelection, QItemSelectionModel, Qt,
|
||||
QWizard, QWizardPage, pyqtSignal
|
||||
QAbstractListModel, QDir, QIcon, QItemSelection, QItemSelectionModel, Qt, QWizard,
|
||||
QWizardPage, pyqtSignal,
|
||||
)
|
||||
|
||||
from calibre import __appname__
|
||||
@ -24,7 +24,7 @@ from calibre.gui2.wizard.library_ui import Ui_WizardPage as LibraryUI
|
||||
from calibre.gui2.wizard.send_email import smtp_prefs
|
||||
from calibre.gui2.wizard.stanza_ui import Ui_WizardPage as StanzaUI
|
||||
from calibre.utils.config import dynamic, prefs
|
||||
from calibre.utils.localization import localize_user_manual_link
|
||||
from calibre.utils.localization import _, localize_user_manual_link
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
# Devices {{{
|
||||
@ -717,7 +717,7 @@ class LibraryPage(QWizardPage, LibraryUI):
|
||||
self.language.blockSignals(True)
|
||||
self.language.clear()
|
||||
from calibre.utils.localization import (
|
||||
available_translations, get_lang, get_language, get_lc_messages_path
|
||||
available_translations, get_lang, get_language, get_lc_messages_path,
|
||||
)
|
||||
lang = get_lang()
|
||||
lang = get_lc_messages_path(lang) if lang else lang
|
||||
|
@ -7,17 +7,17 @@ __docformat__ = 'restructuredtext en'
|
||||
|
||||
import sys
|
||||
from functools import partial
|
||||
from qt.core import (
|
||||
QCheckBox, QDialog, QDialogButtonBox, QGridLayout, QHBoxLayout, QIcon, QLabel,
|
||||
QLineEdit, QPlainTextEdit, QPushButton, Qt, QVBoxLayout, QWidget, pyqtSignal,
|
||||
)
|
||||
from threading import Thread
|
||||
|
||||
from qt.core import (
|
||||
QWidget, pyqtSignal, QDialog, Qt, QLabel, QLineEdit, QDialogButtonBox,
|
||||
QGridLayout, QCheckBox, QIcon, QVBoxLayout, QPushButton, QPlainTextEdit,
|
||||
QHBoxLayout)
|
||||
|
||||
from calibre import prints
|
||||
from calibre.gui2.wizard.send_email_ui import Ui_Form
|
||||
from calibre.utils.smtp import config as smtp_prefs
|
||||
from calibre.gui2 import error_dialog, question_dialog
|
||||
from calibre.gui2.wizard.send_email_ui import Ui_Form
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.smtp import config as smtp_prefs
|
||||
from polyglot.binary import as_hex_unicode, from_hex_unicode
|
||||
from polyglot.io import PolyglotStringIO
|
||||
|
||||
@ -211,7 +211,7 @@ class SendEmail(QWidget, Ui_Form):
|
||||
|
||||
def test_email_settings(self, to):
|
||||
opts = smtp_prefs().parse()
|
||||
from calibre.utils.smtp import sendmail, create_mail
|
||||
from calibre.utils.smtp import create_mail, sendmail
|
||||
buf = PolyglotStringIO()
|
||||
debug_out = partial(prints, file=buf)
|
||||
oout, oerr = sys.stdout, sys.stderr
|
||||
|
@ -85,6 +85,7 @@ def is_possible_media_pack_error(e):
|
||||
def show_media_pack_error():
|
||||
import traceback
|
||||
from calibre.gui2 import error_dialog, Application
|
||||
from calibre.utils.localization import _
|
||||
app = Application([])
|
||||
error_dialog(None, _('Required component missing'), '<p>' + _(
|
||||
'This computer is missing the Windows MediaPack, which is needed for calibre. Instructions'
|
||||
|
@ -20,7 +20,7 @@ from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
||||
from calibre.utils.config import prefs, tweaks
|
||||
from calibre.utils.date import UNDEFINED_DATE, clean_date_for_sort, now, parse_date
|
||||
from calibre.utils.icu import lower as icu_lower
|
||||
from calibre.utils.localization import canonicalize_lang, get_udc, lang_map
|
||||
from calibre.utils.localization import _, canonicalize_lang, get_udc, lang_map
|
||||
from calibre.utils.search_query_parser import ParseException, SearchQueryParser
|
||||
from polyglot.builtins import cmp, iteritems, itervalues, string_or_bytes
|
||||
|
||||
|
@ -16,6 +16,7 @@ from calibre.customize import CatalogPlugin
|
||||
from calibre.customize.conversion import DummyReporter
|
||||
from calibre.ebooks.metadata import format_isbn
|
||||
from calibre.library.catalogs import FIELDS, TEMPLATE_ALLOWED_FIELDS
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import string_or_bytes
|
||||
|
||||
|
||||
|
@ -5,12 +5,15 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2012, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import re, codecs, os
|
||||
import codecs
|
||||
import os
|
||||
import re
|
||||
from collections import namedtuple
|
||||
|
||||
from calibre.customize import CatalogPlugin
|
||||
from calibre.library.catalogs import FIELDS
|
||||
from calibre.customize.conversion import DummyReporter
|
||||
from calibre.library.catalogs import FIELDS
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
class CSV_XML(CatalogPlugin):
|
||||
@ -50,12 +53,13 @@ class CSV_XML(CatalogPlugin):
|
||||
"Applies to: CSV, XML output formats"))]
|
||||
|
||||
def run(self, path_to_output, opts, db, notification=DummyReporter()):
|
||||
from lxml import etree
|
||||
|
||||
from calibre.ebooks.metadata import authors_to_string
|
||||
from calibre.library import current_library_name
|
||||
from calibre.utils.date import isoformat
|
||||
from calibre.utils.html2text import html2text
|
||||
from calibre.utils.logging import default_log as log
|
||||
from lxml import etree
|
||||
from calibre.ebooks.metadata import authors_to_string
|
||||
|
||||
self.fmt = path_to_output.rpartition('.')[2]
|
||||
self.notification = notification
|
||||
|
@ -5,16 +5,20 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2012, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import datetime, os, time
|
||||
import datetime
|
||||
import os
|
||||
import time
|
||||
from collections import namedtuple
|
||||
|
||||
from calibre import strftime
|
||||
from calibre.customize import CatalogPlugin
|
||||
from calibre.customize.conversion import OptionRecommendation, DummyReporter
|
||||
from calibre.customize.conversion import DummyReporter, OptionRecommendation
|
||||
from calibre.library import current_library_name
|
||||
from calibre.library.catalogs import AuthorSortMismatchException, EmptyCatalogException
|
||||
from calibre.ptempfile import PersistentTemporaryFile
|
||||
from calibre.utils.localization import calibre_langcode_to_name, canonicalize_lang, get_lang
|
||||
from calibre.utils.localization import (
|
||||
_, calibre_langcode_to_name, canonicalize_lang, get_lang,
|
||||
)
|
||||
|
||||
Option = namedtuple('Option', 'option, default, dest, action, help')
|
||||
|
||||
@ -190,8 +194,8 @@ class EPUB_MOBI(CatalogPlugin):
|
||||
|
||||
def run(self, path_to_output, opts, db, notification=DummyReporter()):
|
||||
from calibre.library.catalogs.epub_mobi_builder import CatalogBuilder
|
||||
from calibre.utils.logging import default_log as log
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.logging import default_log as log
|
||||
|
||||
# If preset specified from the cli, insert stored options from JSON file
|
||||
if hasattr(opts, 'preset') and opts.preset:
|
||||
|
@ -38,7 +38,7 @@ from calibre.utils.formatter import TemplateFormatter
|
||||
from calibre.utils.icu import (
|
||||
capitalize, collation_order, sort_key, title_case as icu_title, upper as icu_upper,
|
||||
)
|
||||
from calibre.utils.localization import get_lang, lang_as_iso639_1, ngettext
|
||||
from calibre.utils.localization import _, get_lang, lang_as_iso639_1, ngettext
|
||||
from calibre.utils.resources import get_image_path as I, get_path as P
|
||||
from calibre.utils.xml_parse import safe_xml_fromstring
|
||||
from calibre.utils.zipfile import ZipFile
|
||||
|
@ -5,11 +5,15 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import re, os, traceback, fnmatch
|
||||
import fnmatch
|
||||
import os
|
||||
import re
|
||||
import traceback
|
||||
|
||||
from calibre import isbytestring
|
||||
from calibre.constants import filesystem_encoding
|
||||
from calibre.ebooks import BOOK_EXTENSIONS
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
EBOOK_EXTENSIONS = frozenset(BOOK_EXTENSIONS)
|
||||
|
@ -6,6 +6,7 @@ import json
|
||||
import re
|
||||
from textwrap import dedent
|
||||
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.binary import as_hex_unicode, from_hex_bytes
|
||||
|
||||
color_row_key = '*row'
|
||||
|
@ -5,14 +5,17 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import json, re, numbers
|
||||
import json
|
||||
import numbers
|
||||
import re
|
||||
from functools import partial
|
||||
|
||||
from calibre import prints, force_unicode
|
||||
from calibre import force_unicode, prints
|
||||
from calibre.constants import preferred_encoding
|
||||
from calibre.library.field_metadata import FieldMetadata
|
||||
from calibre.utils.date import parse_date
|
||||
from calibre.utils.config import tweaks
|
||||
from calibre.utils.date import parse_date
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import string_or_bytes
|
||||
|
||||
|
||||
@ -217,7 +220,7 @@ class CustomColumns:
|
||||
if data['display'].get('sort_alpha', False):
|
||||
ans.sort(key=lambda x:x.lower())
|
||||
if data['datatype'] == 'datetime' and isinstance(ans, string_or_bytes):
|
||||
from calibre.db.tables import c_parse, UNDEFINED_DATE
|
||||
from calibre.db.tables import UNDEFINED_DATE, c_parse
|
||||
ans = c_parse(ans)
|
||||
if ans is UNDEFINED_DATE:
|
||||
ans = None
|
||||
@ -249,7 +252,7 @@ class CustomColumns:
|
||||
if data['display'].get('sort_alpha', False):
|
||||
ans.sort(key=lambda x: x.lower())
|
||||
if data['datatype'] == 'datetime' and isinstance(ans, string_or_bytes):
|
||||
from calibre.db.tables import c_parse, UNDEFINED_DATE
|
||||
from calibre.db.tables import UNDEFINED_DATE, c_parse
|
||||
ans = c_parse(ans)
|
||||
if ans is UNDEFINED_DATE:
|
||||
ans = None
|
||||
|
@ -5,14 +5,16 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
Backend that implements storage of ebooks in an sqlite database.
|
||||
'''
|
||||
|
||||
import datetime
|
||||
import re
|
||||
import sqlite3 as sqlite
|
||||
import datetime, re, sre_constants
|
||||
import sre_constants
|
||||
from zlib import compress, decompress
|
||||
|
||||
from calibre.ebooks.metadata import MetaInformation
|
||||
from calibre.ebooks.metadata import string_to_authors
|
||||
from calibre.utils.serialize import pickle_loads, pickle_dumps
|
||||
from calibre import isbytestring
|
||||
from calibre.ebooks.metadata import MetaInformation, string_to_authors
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.serialize import pickle_dumps, pickle_loads
|
||||
|
||||
|
||||
class Concatenate:
|
||||
@ -980,7 +982,7 @@ ALTER TABLE books ADD COLUMN isbn TEXT DEFAULT "" COLLATE NOCASE;
|
||||
data = self.conn.get('SELECT data FROM covers WHERE book=?', (id,), all=False)
|
||||
if not data:
|
||||
return None
|
||||
return(decompress(data))
|
||||
return decompress(data)
|
||||
|
||||
def tags(self, index, index_is_id=False):
|
||||
'''tags as a comma separated list or None'''
|
||||
|
@ -60,7 +60,7 @@ from calibre.utils.filenames import (
|
||||
from calibre.utils.formatter_functions import load_user_template_functions
|
||||
from calibre.utils.icu import lower, lower as icu_lower, sort_key, strcmp
|
||||
from calibre.utils.img import save_cover_data_to
|
||||
from calibre.utils.localization import calibre_langcode_to_name, canonicalize_lang
|
||||
from calibre.utils.localization import _, calibre_langcode_to_name, canonicalize_lang
|
||||
from calibre.utils.recycle_bin import delete_file, delete_tree
|
||||
from calibre.utils.resources import get_path as P
|
||||
from calibre.utils.search_query_parser import saved_searches, set_saved_searches
|
||||
|
@ -9,7 +9,7 @@ from collections import OrderedDict
|
||||
|
||||
from calibre.utils.config_base import tweaks
|
||||
from calibre.utils.icu import lower as icu_lower
|
||||
from calibre.utils.localization import ngettext
|
||||
from calibre.utils.localization import _, ngettext
|
||||
from polyglot.builtins import iteritems, itervalues
|
||||
|
||||
category_icon_map = {
|
||||
|
@ -5,17 +5,21 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import re, os, traceback, shutil
|
||||
from threading import Thread
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import traceback
|
||||
from operator import itemgetter
|
||||
from threading import Thread
|
||||
|
||||
from calibre.ptempfile import TemporaryDirectory
|
||||
from calibre import isbytestring
|
||||
from calibre.constants import filesystem_encoding
|
||||
from calibre.ebooks.metadata.opf2 import OPF
|
||||
from calibre.library.database2 import LibraryDatabase2
|
||||
from calibre.library.prefs import DBPrefs
|
||||
from calibre.constants import filesystem_encoding
|
||||
from calibre.ptempfile import TemporaryDirectory
|
||||
from calibre.utils.date import utcfromtimestamp
|
||||
from calibre import isbytestring
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
NON_EBOOK_EXTENSIONS = frozenset([
|
||||
|
@ -5,19 +5,21 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import os, traceback, re, errno
|
||||
import errno
|
||||
import os
|
||||
import re
|
||||
import traceback
|
||||
|
||||
from calibre.constants import DEBUG
|
||||
from calibre import prints, sanitize_file_name, strftime
|
||||
from calibre.constants import DEBUG, preferred_encoding
|
||||
from calibre.db.errors import NoSuchFormat
|
||||
from calibre.utils.config import Config, StringConfig, tweaks
|
||||
from calibre.utils.formatter import TemplateFormatter
|
||||
from calibre.utils.filenames import shorten_components_to, ascii_filename
|
||||
from calibre.constants import preferred_encoding
|
||||
from calibre.ebooks.metadata import fmt_sidx
|
||||
from calibre.ebooks.metadata import title_sort
|
||||
from calibre.utils.date import as_local_time
|
||||
from calibre import strftime, prints, sanitize_file_name
|
||||
from calibre.db.lazy import FormatsList
|
||||
from calibre.ebooks.metadata import fmt_sidx, title_sort
|
||||
from calibre.utils.config import Config, StringConfig, tweaks
|
||||
from calibre.utils.date import as_local_time
|
||||
from calibre.utils.filenames import ascii_filename, shorten_components_to
|
||||
from calibre.utils.formatter import TemplateFormatter
|
||||
from calibre.utils.localization import _
|
||||
|
||||
plugboard_any_device_value = 'any device'
|
||||
plugboard_any_format_value = 'any format'
|
||||
|
@ -15,6 +15,7 @@ from calibre import CurrentDir, __appname__, guess_type, prints
|
||||
from calibre.constants import isbsd, islinux
|
||||
from calibre.customize.ui import all_input_formats
|
||||
from calibre.ptempfile import TemporaryDirectory
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.resources import get_image_path as I, get_path as P
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
|
@ -16,7 +16,7 @@ from calibre.constants import config_dir, filesystem_encoding, iswindows
|
||||
from calibre.spell import parse_lang_code
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.icu import capitalize
|
||||
from calibre.utils.localization import get_lang, get_system_locale
|
||||
from calibre.utils.localization import _, get_lang, get_system_locale
|
||||
from calibre.utils.resources import get_path as P
|
||||
from polyglot.builtins import iteritems, itervalues
|
||||
|
||||
|
@ -5,21 +5,24 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2015, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
from functools import partial
|
||||
from polyglot.builtins import iteritems, itervalues, string_or_bytes
|
||||
from itertools import cycle
|
||||
|
||||
from calibre import force_unicode
|
||||
from calibre.library.field_metadata import category_icon_map
|
||||
from calibre.db.view import sanitize_sort_field_name
|
||||
from calibre.ebooks.metadata import title_sort
|
||||
from calibre.ebooks.metadata.book.json_codec import JsonCodec
|
||||
from calibre.srv.errors import HTTPNotFound, BookNotFound
|
||||
from calibre.srv.routes import endpoint, json
|
||||
from calibre.library.field_metadata import category_icon_map
|
||||
from calibre.srv.content import get as get_content, icon as get_icon
|
||||
from calibre.srv.utils import http_date, custom_fields_to_display, encode_name, decode_name, get_db
|
||||
from calibre.srv.errors import BookNotFound, HTTPNotFound
|
||||
from calibre.srv.routes import endpoint, json
|
||||
from calibre.srv.utils import (
|
||||
custom_fields_to_display, decode_name, encode_name, get_db, http_date,
|
||||
)
|
||||
from calibre.utils.config import prefs, tweaks
|
||||
from calibre.utils.date import isoformat, timestampfromdt
|
||||
from calibre.utils.icu import numeric_sort_key as sort_key
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import iteritems, itervalues, string_or_bytes
|
||||
|
||||
|
||||
def ensure_val(x, *allowed):
|
||||
@ -126,9 +129,10 @@ def book_to_json(ctx, rd, db, book_id,
|
||||
data['_series_sort_'] = series
|
||||
if device_for_template:
|
||||
import posixpath
|
||||
|
||||
from calibre.customize.ui import device_plugins
|
||||
from calibre.devices.utils import create_upload_path
|
||||
from calibre.utils.filenames import ascii_filename as sanitize
|
||||
from calibre.customize.ui import device_plugins
|
||||
|
||||
for device_class in device_plugins():
|
||||
if device_class.__class__.__name__ == device_for_template:
|
||||
|
@ -21,6 +21,7 @@ from calibre.srv.render_book import RENDER_VERSION
|
||||
from calibre.srv.routes import endpoint, json
|
||||
from calibre.srv.utils import get_db, get_library_data
|
||||
from calibre.utils.filenames import rmtree
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.resources import get_path as P
|
||||
from calibre.utils.serialize import json_dumps
|
||||
from polyglot.builtins import as_unicode, itervalues
|
||||
|
@ -27,7 +27,7 @@ from calibre.srv.utils import get_library_data, get_use_roman
|
||||
from calibre.utils.config import prefs, tweaks
|
||||
from calibre.utils.icu import numeric_sort_key, sort_key
|
||||
from calibre.utils.localization import (
|
||||
get_lang, lang_code_for_user_manual, lang_map_for_ui, localize_website_link,
|
||||
_, get_lang, lang_code_for_user_manual, lang_map_for_ui, localize_website_link,
|
||||
)
|
||||
from calibre.utils.resources import get_path as P
|
||||
from calibre.utils.search_query_parser import ParseException
|
||||
|
@ -28,6 +28,7 @@ from calibre.utils.config_base import tweaks
|
||||
from calibre.utils.date import timestampfromdt
|
||||
from calibre.utils.filenames import ascii_filename, atomic_rename
|
||||
from calibre.utils.img import image_from_data, scale_image
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.resources import get_image_path as I, get_path as P
|
||||
from calibre.utils.shared_file import share_open
|
||||
from polyglot.binary import as_hex_unicode
|
||||
|
@ -13,6 +13,7 @@ from calibre.srv.changes import formats_added
|
||||
from calibre.srv.errors import BookNotFound, HTTPNotFound
|
||||
from calibre.srv.routes import endpoint, json
|
||||
from calibre.srv.utils import get_library_data
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.monotonic import monotonic
|
||||
from calibre.utils.shared_file import share_open
|
||||
from polyglot.builtins import iteritems
|
||||
@ -120,9 +121,9 @@ def convert_book(path_to_ebook, opf_path, cover_path, output_fmt, recs):
|
||||
|
||||
|
||||
def queue_job(ctx, rd, library_id, db, fmt, book_id, conversion_data):
|
||||
from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
||||
from calibre.ebooks.conversion.config import GuiRecommendations, save_specifics
|
||||
from calibre.customize.conversion import OptionRecommendation
|
||||
from calibre.ebooks.conversion.config import GuiRecommendations, save_specifics
|
||||
from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
||||
tdir = tempfile.mkdtemp(dir=rd.tdir)
|
||||
with tempfile.NamedTemporaryFile(prefix='', suffix=('.' + fmt.lower()), dir=tdir, delete=False) as src_file:
|
||||
db.copy_format_to(book_id, fmt, src_file)
|
||||
@ -202,10 +203,12 @@ def conversion_status(ctx, rd, job_id):
|
||||
|
||||
|
||||
def get_conversion_options(input_fmt, output_fmt, book_id, db):
|
||||
from calibre.ebooks.conversion.plumber import create_dummy_plumber
|
||||
from calibre.ebooks.conversion.config import (
|
||||
load_specifics, load_defaults, OPTIONS, options_for_input_fmt, options_for_output_fmt)
|
||||
from calibre.customize.conversion import OptionRecommendation
|
||||
from calibre.ebooks.conversion.config import (
|
||||
OPTIONS, load_defaults, load_specifics, options_for_input_fmt,
|
||||
options_for_output_fmt,
|
||||
)
|
||||
from calibre.ebooks.conversion.plumber import create_dummy_plumber
|
||||
plumber = create_dummy_plumber(input_fmt, output_fmt)
|
||||
specifics = load_specifics(db, book_id)
|
||||
ans = {'options': {}, 'disabled': set(), 'defaults': {}, 'help': {}}
|
||||
@ -265,7 +268,8 @@ def profiles():
|
||||
@endpoint('/conversion/book-data/{book_id}', postprocess=json, types={'book_id': int})
|
||||
def conversion_data(ctx, rd, book_id):
|
||||
from calibre.ebooks.conversion.config import (
|
||||
NoSupportedInputFormats, get_input_format_for_book, get_sorted_output_formats)
|
||||
NoSupportedInputFormats, get_input_format_for_book, get_sorted_output_formats,
|
||||
)
|
||||
db = get_library_data(ctx, rd)[0]
|
||||
if not ctx.has_id(rd, db, book_id):
|
||||
raise BookNotFound(book_id, db)
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
|
||||
from functools import partial
|
||||
|
||||
from lxml.html import tostring
|
||||
from lxml.html.builder import E as E_
|
||||
|
||||
@ -17,7 +16,8 @@ from calibre.srv.routes import endpoint
|
||||
from calibre.srv.utils import get_library_data, http_date
|
||||
from calibre.utils.cleantext import clean_xml_chars
|
||||
from calibre.utils.date import dt_as_local, is_date_undefined, timestampfromdt
|
||||
from polyglot.builtins import iteritems, string_or_bytes, as_bytes
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import as_bytes, iteritems, string_or_bytes
|
||||
from polyglot.urllib import urlencode
|
||||
|
||||
# /mobile {{{
|
||||
|
@ -11,7 +11,7 @@ import socket
|
||||
import ssl
|
||||
import traceback
|
||||
from contextlib import suppress
|
||||
from functools import partial, lru_cache
|
||||
from functools import lru_cache, partial
|
||||
from io import BytesIO
|
||||
|
||||
from calibre import as_unicode
|
||||
@ -23,8 +23,9 @@ from calibre.srv.opts import Options
|
||||
from calibre.srv.pool import PluginPool, ThreadPool
|
||||
from calibre.srv.utils import (
|
||||
DESIRED_SEND_BUFFER_SIZE, HandleInterrupt, create_sock_pair, socket_errors_eintr,
|
||||
socket_errors_nonblocking, socket_errors_socket_closed, start_cork, stop_cork
|
||||
socket_errors_nonblocking, socket_errors_socket_closed, start_cork, stop_cork,
|
||||
)
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.logging import ThreadSafeLog
|
||||
from calibre.utils.mdns import get_external_ip
|
||||
from calibre.utils.monotonic import monotonic
|
||||
|
@ -7,7 +7,7 @@ from functools import partial
|
||||
from calibre import prints
|
||||
from calibre.constants import iswindows, preferred_encoding
|
||||
from calibre.utils.config import OptionParser
|
||||
from calibre.utils.localization import ngettext
|
||||
from calibre.utils.localization import _, ngettext
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ from calibre.utils.date import UNDEFINED_DATE, isoformat, local_tz
|
||||
from calibre.utils.file_type_icons import EXT_MAP
|
||||
from calibre.utils.formatter import EvalFormatter
|
||||
from calibre.utils.icu import collation_order_for_partitioning, upper as icu_upper
|
||||
from calibre.utils.localization import calibre_langcode_to_name
|
||||
from calibre.utils.localization import _, calibre_langcode_to_name
|
||||
from polyglot.builtins import iteritems, itervalues
|
||||
from polyglot.urllib import quote
|
||||
|
||||
|
@ -24,7 +24,7 @@ from calibre.srv.utils import Offsets, get_library_data, http_date
|
||||
from calibre.utils.config import prefs
|
||||
from calibre.utils.date import as_utc, is_date_undefined, timestampfromdt
|
||||
from calibre.utils.icu import sort_key
|
||||
from calibre.utils.localization import ngettext
|
||||
from calibre.utils.localization import _, ngettext
|
||||
from calibre.utils.search_query_parser import ParseException
|
||||
from calibre.utils.xml_parse import safe_xml_fromstring
|
||||
from polyglot.binary import as_hex_unicode, from_hex_unicode
|
||||
|
@ -21,10 +21,10 @@ from calibre.srv.opts import opts_to_parser
|
||||
from calibre.srv.users import connect
|
||||
from calibre.srv.utils import HandleInterrupt, RotatingLog
|
||||
from calibre.utils.config import prefs
|
||||
from calibre.utils.localization import localize_user_manual_link
|
||||
from calibre.utils.localization import _, localize_user_manual_link
|
||||
from calibre.utils.lock import singleinstance
|
||||
from polyglot.builtins import error_message
|
||||
from calibre_extensions import speedup
|
||||
from polyglot.builtins import error_message
|
||||
|
||||
|
||||
def daemonize(): # {{{
|
||||
|
@ -12,6 +12,7 @@ from io import BytesIO
|
||||
|
||||
from calibre.ebooks.metadata.meta import get_metadata
|
||||
from calibre.srv.tests.base import LibraryBaseTest
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.binary import as_base64_bytes
|
||||
from polyglot.http_client import FORBIDDEN, NOT_FOUND, OK
|
||||
from polyglot.urllib import quote, urlencode
|
||||
|
@ -12,6 +12,7 @@ from threading import RLock
|
||||
from calibre import as_unicode
|
||||
from calibre.constants import config_dir
|
||||
from calibre.utils.config import from_json, to_json
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
|
||||
|
@ -8,6 +8,7 @@ from calibre import as_unicode
|
||||
from calibre.srv.errors import HTTPBadRequest, HTTPForbidden
|
||||
from calibre.srv.routes import endpoint
|
||||
from calibre.srv.users import validate_password
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
@endpoint('/users/change-pw', methods={'POST'})
|
||||
|
@ -11,13 +11,14 @@ import os
|
||||
from copy import deepcopy
|
||||
|
||||
from calibre.constants import (
|
||||
CONFIG_DIR_MODE, __appname__, __author__, config_dir, get_version, iswindows
|
||||
CONFIG_DIR_MODE, __appname__, __author__, config_dir, get_version, iswindows,
|
||||
)
|
||||
from calibre.utils.config_base import (
|
||||
Config, ConfigInterface, ConfigProxy, Option, OptionSet, OptionValues,
|
||||
StringConfig, commit_data, from_json, json_dumps, json_loads, make_config_dir,
|
||||
plugin_dir, prefs, read_data, to_json, tweaks
|
||||
Config, ConfigInterface, ConfigProxy, Option, OptionSet, OptionValues, StringConfig,
|
||||
commit_data, from_json, json_dumps, json_loads, make_config_dir, plugin_dir, prefs,
|
||||
read_data, to_json, tweaks,
|
||||
)
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import native_string_type, string_or_bytes
|
||||
|
||||
# optparse uses gettext.gettext instead of _ from builtins, so we
|
||||
|
@ -17,6 +17,7 @@ from calibre.constants import (
|
||||
CONFIG_DIR_MODE, config_dir, filesystem_encoding, get_umask, iswindows,
|
||||
preferred_encoding,
|
||||
)
|
||||
from calibre.utils.localization import _
|
||||
from calibre.utils.resources import get_path as P
|
||||
from polyglot.builtins import iteritems
|
||||
|
||||
|
@ -2,20 +2,30 @@
|
||||
# License: GPLv3 Copyright: 2015, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
|
||||
import os, json, struct, hashlib, sys, errno, tempfile, time, shutil, uuid
|
||||
import errno
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import struct
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import uuid
|
||||
from collections import Counter
|
||||
|
||||
from calibre import prints
|
||||
from calibre.constants import config_dir, iswindows, filesystem_encoding
|
||||
from calibre.utils.config_base import prefs, StringConfig, create_global_prefs
|
||||
from calibre.constants import config_dir, filesystem_encoding, iswindows
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.config_base import StringConfig, create_global_prefs, prefs
|
||||
from calibre.utils.filenames import samefile
|
||||
from polyglot.builtins import iteritems, error_message
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.binary import as_hex_unicode
|
||||
|
||||
from polyglot.builtins import error_message, iteritems
|
||||
|
||||
# Export {{{
|
||||
|
||||
|
||||
def send_file(from_obj, to_obj, chunksize=1<<20):
|
||||
m = hashlib.sha1()
|
||||
while True:
|
||||
@ -169,8 +179,8 @@ def all_known_libraries():
|
||||
|
||||
|
||||
def export(destdir, library_paths=None, dbmap=None, progress1=None, progress2=None, abort=None):
|
||||
from calibre.db.cache import Cache
|
||||
from calibre.db.backend import DB
|
||||
from calibre.db.cache import Cache
|
||||
if library_paths is None:
|
||||
library_paths = all_known_libraries()
|
||||
dbmap = dbmap or {}
|
||||
|
@ -7,14 +7,14 @@ import errno
|
||||
import os
|
||||
import shutil
|
||||
import time
|
||||
from contextlib import closing, suppress
|
||||
from math import ceil
|
||||
from contextlib import suppress, closing
|
||||
|
||||
from calibre import force_unicode, isbytestring, prints, sanitize_file_name
|
||||
from calibre.constants import (
|
||||
filesystem_encoding, iswindows, preferred_encoding, ismacos
|
||||
filesystem_encoding, ismacos, iswindows, preferred_encoding,
|
||||
)
|
||||
from calibre.utils.localization import get_udc
|
||||
from calibre.utils.localization import _, get_udc
|
||||
from polyglot.builtins import iteritems, itervalues
|
||||
|
||||
|
||||
@ -331,6 +331,7 @@ class WindowsAtomicFolderMove:
|
||||
|
||||
def __init__(self, path):
|
||||
from collections import defaultdict
|
||||
|
||||
from calibre_extensions import winutil
|
||||
self.handle_map = {}
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
# License: GPLv3 Copyright: 2019, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
|
||||
from calibre.utils.localization import _
|
||||
|
||||
|
||||
def html2text(html, single_line_break=True):
|
||||
from html2text import HTML2Text
|
||||
import re
|
||||
|
@ -6,14 +6,15 @@ __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
|
||||
import time, io
|
||||
import io
|
||||
import time
|
||||
from itertools import count
|
||||
|
||||
from calibre import prints
|
||||
from calibre.constants import DEBUG
|
||||
from polyglot.queue import Queue, Empty
|
||||
from calibre.utils.localization import _
|
||||
from polyglot.builtins import cmp
|
||||
|
||||
from polyglot.queue import Empty, Queue
|
||||
|
||||
job_counter = count()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user