Move constants used by db backend into a separate module so we dont need to import the full backend everywhere else

This commit is contained in:
Kovid Goyal 2023-04-22 11:07:52 +05:30
parent dba94e1b5b
commit a91889f390
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
10 changed files with 35 additions and 26 deletions

View File

@ -16,9 +16,7 @@ import sys
import time
import uuid
from contextlib import closing, suppress
from dataclasses import dataclass
from functools import partial
from typing import Sequence
from calibre import as_unicode, force_unicode, isbytestring, prints
from calibre.constants import (
@ -26,6 +24,10 @@ from calibre.constants import (
)
from calibre.db import SPOOL_SIZE, FTSQueryError
from calibre.db.annotations import annot_db_data, unicode_normalize
from calibre.db.constants import (
BOOK_ID_PATH_TEMPLATE, COVER_FILE_NAME, DEFAULT_TRASH_EXPIRY_TIME_SECONDS,
METADATA_FILE_NAME, TRASH_DIR_NAME, TrashEntry,
)
from calibre.db.errors import NoSuchFormat
from calibre.db.schema_upgrades import SchemaUpgrade
from calibre.db.tables import (
@ -56,27 +58,11 @@ from polyglot.builtins import (
# }}}
COVER_FILE_NAME = 'cover.jpg'
METADATA_FILE_NAME = 'metadata.opf'
DEFAULT_TRASH_EXPIRY_TIME_SECONDS = 14 * 86400
TRASH_DIR_NAME = '.caltrash'
DATA_DIR_NAME = 'data'
BOOK_ID_PATH_TEMPLATE = ' ({})'
CUSTOM_DATA_TYPES = frozenset(('rating', 'text', 'comments', 'datetime',
'int', 'float', 'bool', 'series', 'composite', 'enumeration'))
WINDOWS_RESERVED_NAMES = frozenset('CON PRN AUX NUL COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9 LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 LPT9'.split())
@dataclass
class TrashEntry:
book_id: int
title: str
author: str
cover_path: str
mtime: float
formats: Sequence[str] = ()
class DynamicFilter: # {{{
'No longer used, present for legacy compatibility'

View File

@ -0,0 +1,22 @@
#!/usr/bin/env python
# License: GPLv3 Copyright: 2023, Kovid Goyal <kovid at kovidgoyal.net>
from dataclasses import dataclass
from typing import Sequence
COVER_FILE_NAME = 'cover.jpg'
METADATA_FILE_NAME = 'metadata.opf'
DEFAULT_TRASH_EXPIRY_TIME_SECONDS = 14 * 86400
TRASH_DIR_NAME = '.caltrash'
DATA_DIR_NAME = 'data'
BOOK_ID_PATH_TEMPLATE = ' ({})'
@dataclass
class TrashEntry:
book_id: int
title: str
author: str
cover_path: str
mtime: float
formats: Sequence[str] = ()

View File

@ -17,7 +17,8 @@ from threading import Thread
from calibre import force_unicode, isbytestring
from calibre.constants import filesystem_encoding
from calibre.db.backend import DB, METADATA_FILE_NAME, TRASH_DIR_NAME, DBPrefs
from calibre.db.backend import DB, DBPrefs
from calibre.db.constants import METADATA_FILE_NAME, TRASH_DIR_NAME
from calibre.db.cache import Cache
from calibre.ebooks.metadata.opf2 import OPF
from calibre.ptempfile import TemporaryDirectory

View File

@ -12,7 +12,7 @@ from datetime import timedelta
from io import BytesIO
from tempfile import NamedTemporaryFile
from calibre.db.backend import METADATA_FILE_NAME
from calibre.db.constants import METADATA_FILE_NAME
from calibre.db.tests.base import IMG, BaseTest
from calibre.ptempfile import PersistentTemporaryFile
from calibre.utils.date import UNDEFINED_DATE, now, utcnow

View File

@ -10,7 +10,7 @@ from functools import partial
from calibre import force_unicode, prepare_string_for_xml
from calibre.constants import filesystem_encoding
from calibre.db.backend import DATA_DIR_NAME
from calibre.db.constants import DATA_DIR_NAME
from calibre.ebooks.metadata import fmt_sidx, rating_to_stars
from calibre.ebooks.metadata.search_internet import (
DEFAULT_AUTHOR_SOURCE, name_for, qquote, url_for_author_search, url_for_book_search,

View File

@ -12,7 +12,7 @@ from functools import partial
from qt.core import QAction, QDialog, QIcon, pyqtSignal
from calibre.constants import ismacos, iswindows
from calibre.db.backend import DATA_DIR_NAME
from calibre.db.constants import DATA_DIR_NAME
from calibre.gui2 import (
Dispatcher, config, elided_text, error_dialog, info_dialog, open_local_file,
question_dialog,

View File

@ -15,7 +15,7 @@ from qt.core import (
from calibre import fit_image, sanitize_file_name
from calibre.constants import config_dir, iswindows
from calibre.db.backend import DATA_DIR_NAME
from calibre.db.constants import DATA_DIR_NAME
from calibre.ebooks import BOOK_EXTENSIONS
from calibre.ebooks.metadata.book.base import Metadata, field_metadata
from calibre.ebooks.metadata.book.render import mi_to_html

View File

@ -19,7 +19,7 @@ from qt.core import (
)
from calibre import xml_replace_entities
from calibre.db.backend import DATA_DIR_NAME
from calibre.db.constants import DATA_DIR_NAME
from calibre.ebooks.chardet import xml_to_unicode
from calibre.gui2 import (
NO_URL_FORMATTING, choose_dir, choose_files, error_dialog, gprefs, is_dark_theme,

View File

@ -12,7 +12,7 @@ from qt.core import (
from typing import Iterator, List
from calibre import fit_image
from calibre.db.backend import DEFAULT_TRASH_EXPIRY_TIME_SECONDS, TrashEntry
from calibre.db.constants import DEFAULT_TRASH_EXPIRY_TIME_SECONDS, TrashEntry
from calibre.gui2 import error_dialog
from calibre.gui2.dialogs.confirm_delete import confirm
from calibre.gui2.widgets import BusyCursor

View File

@ -12,7 +12,7 @@ import traceback
from calibre import isbytestring
from calibre.constants import filesystem_encoding
from calibre.db.backend import (
from calibre.db.constants import (
COVER_FILE_NAME, DATA_DIR_NAME, METADATA_FILE_NAME, TRASH_DIR_NAME,
)
from calibre.ebooks import BOOK_EXTENSIONS