Manual de usuario de calibre, Publicación 2.73.0
if container is None:
report_error # No book has been opened yet
El objeto contenedor
class calibre.ebooks.oeb.polish.container.Container(rootpath,
opfpath,
log,
clone_data=None)
Un contenedor representa un Open EBook como un directorio con archivos más un archivo opf. Hay varios
conceptos importantes:
El directorio raíz. Ésta es la base del libro electrónico. Todos los archivos del libro se encuentran en este
directorio o en sus subdirectorios.
Nombres: Son rutas a los archivos del libro con respecto al directorio raíz. Siempre contienen separadores
POSIX, sin comillas. Pueden considerarse como identificadores canónicos para los archivos del libro. La
mayoría de los métodos en el objeto contenedor trabajan con nombres. Los nombres están siempre en la
forma normalizada Unicode NFC.
Clones: el objeto contenedor soporta clonación eficiente en disco, que se utiliza para implementar hitos en
el editor de libros electrónicos. Para que esto funcione, nunca se debe acceder a los archivos del sistema
de archivos directamente. En su lugar, debe usarse raw_data() (página 297) o open() (página 297)
para leer o escribir en los archivos que integran el libro.
Al convertir entre hrefs y nombres utilice los métodos suministrados por esta clase, éstos asumen que todas las
hrefs están entre comillas.
abspath_to_name(fullpath, root=None)
Convierte una ruta absoluta en un nombre canónico con respecto a root
Parámetros root – El directorio base. De manera predeterminada se usa la raíz del objeto
contenedor.
add_file(name, data, media_type=None, spine_index=None, modify_name_if_needed=False, process_manifest_item=None)
Añade un archivo a este contenedor. Se crean automáticamente las entradas para el archivo en el manifiesto
OPF y el lomo (si el archivo es un documento de texto)
add_name_to_manifest(name, process_manifest_item=None)
Añade una entrada al manifiesto para un archivo con el nombre especificado. Devuelve el id del manifiesto.
apply_unique_properties(name, *properties)
Se asegura de que las propiedades especificadas (properties) estás establecidas sólo en el elemento del
manifiesto identificado por name. Pueda usarse None como name para eliminar la propiedad de todos los
elementos.
book_type = u’oeb’
El tipo de libro (epub para archivos EPUB o azw3 para archivos AZW3)
commit(outpath=None, keep_parsed=False)
Almacena todos los objetos procesados modificados en el sistema de archivos y escribe el archivo del libro
en outpath. :param:‘output‘: la ruta de acceso donde se escribe el archivo del libro. Si es None, se
usa la ruta del archivo original. :param:‘keep_parsed‘: Si es True, la representación procesada de los
elementos almacenados se mantiene en memoria.
commit_item(name, keep_parsed=False)
Almacena un objeto procesado en el disco (se serializa y escribe en el archivo subyacente). Si
keep_parsed es True la representación procesada se mantiene en el caché. Véase también: parsed()
(página 297)
1.12. Configurar un entorno de desarrollo de calibre
295