Manual de usuario de calibre, Publicación 2.73.0
Anatomía de un complemento de calibre
Un complemento de calibre es muy sencillo, no es más que un archivo zip que contiene algo de código python y
otros recursos, como archivos de imagen, que necesite el complemento. Sin más preámbulos, vamos a ver un ejemplo
básico.
Supongamos que está usando una instalación de calibre publicar sus propios documentos electrónicos en formatos
EPUB y MOBI. Le gustaría que todos los archivos generados por calibre establecieran la editorial como «Hello
World», he aquí cómo hacerlo. Cree un archivo llamado __init __.py (éste es un nombre especial y siempre debe
ser el del archivo principal del complemento) e introduzca el siguiente código Python en él:
import os
from calibre.customize import FileTypePlugin
class HelloWorld(FileTypePlugin):
name
= 'Hello World Plugin' # Name of the plugin
description
= 'Set the publisher to Hello World for all new conversions'
supported_platforms = ['windows', 'osx', 'linux'] # Platforms this plugin will
˓→run on
author
= 'Acme Inc.' # The author of this plugin
version
= (1, 0, 0)
# The version number of this plugin
file_types
= set(['epub', 'mobi']) # The file types that this plugin
˓→will be applied to
on_postprocess
= True # Run this plugin after conversion is complete
minimum_calibre_version = (0, 7, 53)
def run(self, path_to_ebook):
from calibre.ebooks.metadata.meta import get_metadata, set_metadata
file = open(path_to_ebook, 'r+b')
ext = os.path.splitext(path_to_ebook)[-1][1:].lower()
mi = get_metadata(file, ext)
mi.publisher = 'Hello World'
set_metadata(file, mi, ext)
return path_to_ebook
Eso es todo. Para agregar este código a calibre como un complemento, simplemente ejecute lo siguiente en el directorio
donde reside el archivo __init__.py:
calibre-customize -b .
Nota: En OS X, las herramientas de línea de órdenes están dentro del paquete calibre, por ejemplo, si ha instalado calibre en /Aplicaciones las herramientas de línea de órdenes están en
/Aplicaciones/calibre.app/Contents/console.app/Contents/MacOS
Puede descargar el complemento Hello World en helloworld_plugin.zip80 .
Cada vez que utilice calibre para convertir un libro, el método run() del complemento se ejecutará y el libro convertido tendrá como editorial predeterminada «Hello World». Éste es un complemento intranscendente, veamos un
ejemplo más complejo que agrega un componente a la interfaz de usuario.
80
https://calibre-ebook.com/downloads/helloworld_plugin.zip
1.9. Cursillos
187