Manual de Calibre | Page 292

Manual de usuario de calibre, Publicación 2.73.0 Es esencial que importe el módulo init_calibre antes que cualquier otro módulo o paquete de calibre, pues esto configura el intérprete para ejecutar el código de calibre. 1.12.9 Documentación de la API de varias partes de calibre Documentación de la API para la interfaz de la base de datos Esta API es segura para subprocesos (utiliza un esquema de bloqueo de un escritor, varios lectores). Puede acceder a esta API así: from calibre.library import db db = db('Path to calibre library folder').new_api Si se trata de un complemento de calibre que es parte de la interfaz gráfica principal, se accede a ella de la siguiente forma: db = self.gui.current_db.new_api class calibre.db.cache.Cache(backend) Una copia en memoria caché del archivo metadata.db de la biblioteca de calibre. Esta clase también sirve como un API multihilo para acceder a la base de datos. La copia en memoria se mantiene en forma normal para maximizar el rendimiento. SQLite se usa simplemente como una manera de leer y escribir eficientemente metadata.db. Toda la lógica de lectura, clasificación, búsqueda y almacenamiento en la memoria caché de las tablas está desarrallada de nuevo. Esto fue necesario para obtener el máximo rendimiento y flexibilidad. add_books(books, add_duplicates=True, apply_import_tags=True, preserve_uuid=False, run_hooks=True, dbapi=None) Añadir los libros especificados a la biblioteca. Los libros deben ser iterables de 2-tuplas, cada 2-tuplas de la forma (mi,format_map) donde mi es un objeto de metadatos y format_map es un diccionario en la forma {fmt: path_or_stream}, por ejemplo: {'EPUB':'/path/to/file.epub'}. Devuelve un par de listas: ids,duplicados. ids contiene los identificadores de libros para todos los libros de reciente creación en la base de datos. duplicados contiene el :code: (mi, format_map) para todos los libros que ya existen en la base de datos según la sencilla detección heurística de duplicados utilizada por has_book() (página 292). add_custom_book_data(name, val_map, delete_first=False) Añadir datos para name donde val_map es un mapa de book_ids a valores. Si delete_first es True, se eliminarán todos los datos almacenados previamente. add_format(book_id, fmt, stream_or_path, replace=True, run_hooks=True, dbapi=None) Agregar un formato al libro especificado. Devuelve True si el formato se añadió con éxito. Parámetros replace – Si es True, sustituye el formato existente; en caso contrario, si el formato ya existe, devuelve False. run_hooks – Si es True, los complementos de tipo de archivo se ejecutarán sobre el formato antes y después de ser añadido. dbapi – Solo para uso interno. all_book_ids(type=) Conjunto fijo de todos los identificadores de libros conocidos. 288 Capítulo 1. Secciones