Manual de Calibre | Page 200

Manual de usuario de calibre, Publicación 2.73.0 self.label.setText(prefs['hello_world_msg']) Complementos para modificar libros Vamos a cambiar de tercio y enfocarnos en la creación de un complemento para añadir herramientas al editor de libros de calibre. El complemento está disponible aquí: editor_demo_plugin.zip82 . El primer paso, como para todos los complementos es crear el archivo vacío con el nombre de importación descrito anteriormente (página 188). Vamos a nombrar el archivo plugin-import-name-editor_plugin_demo.txt. Ahora creamos el archivo obligatorio __init__.py que contiene los metadatos del complemento: nombre, autor, versión, etc. from calibre.customize import EditBookToolPlugin class DemoPlugin(EditBookToolPlugin): name = 'Edit Book plugin demo' version = (1, 0, 0) author = 'Kovid Goyal' supported_platforms = ['windows', 'osx', 'linux'] description = 'A demonstration of the plugin interface for the ebook editor' minimum_calibre_version = (1, 46, 0) Un solo complemento del editor puede proporcionar múltiples herramientas; cada herramienta corresponde a un único botón en la barra de herramientas y entrada en el menú Complementos del editor. Éstos pueden tener submenús en el caso de que la herramienta posea múltiples acciones relacionadas. Todas las herramientas deben estar definidas en el archivo main.py del complemento. Cada herramienta es una clase que hereda de la clase calibre.gui2.tweak_book.plugin.Tool (página 302). Echemos un vistazo al main.py del complemento de demostración; el código fuente está profusamente comentado y se explica por sí mismo. Lea la documentación de la API de la clase :clase:‘calibre.gui2.tweak_book.plugin.Tool‘ para más detalles. main.py Aquí veremos la definición de una herramienta que multiplicará todos los tamaños de letra en el libro por un número proporcionado por el usuario. Esta herramienta demuestra varios conceptos importantes que se necesitarán para desarrollar otros complementos, por lo que debe leer el código fuente (muy comentado) cuidadosamente. import re from PyQt5.Qt import QAction, QInputDialog from cssutils.css import CSSRule # The base class that all tools must inherit from from calibre.gui2.tweak_book.plugin import Tool from calibre import force_unicode from calibre.gui2 import error_dialog from calibre.ebooks.oeb.polish.container import OEB_DOCS, OEB_STYLES, serialize 82 https://calibre-ebook.com/downloads/editor_demo_plugin.zip 196 Capítulo 1. Secciones