Manual de Calibre | Page 178

Manual de usuario de calibre, Publicación 2.73.0 'cover_data']) # these are rebuilt when needed Usar el modo de programa general Para programas de plantilla más complicados, a veces es más sencillo evitar la sintaxis de plantillas (todos los caracteres «{» y «}») y escribir programas con aspecto más convencional. Puede hacer esto en calibre comenzando la plantilla con program:. En este caso no se realizará ningún procesado de plantillas. El valor especial $ no se establece. El programa es enteramente responsable de producir los resultados correctos. Una ventaja del modo program: es que las llaves ya no son especiales. Por ejemplo, no es necesario usar «[[» y «]]» al usar la función template(). Otra ventaja es que las plantillas en modo de programación se compilan en Python y pueden ejecutarse más rápidamente que las plantillas en los otros dos modos. La mejora de velocidad depende de la complejidad de las plantillas: cuanto más compleja mayor es la mejora. La compilación se activa y desactiva con el ajuste compile_gpm_templates (Compilar plantillas en el modo de programa general a python). El principal motivo para desactivar la compilación es si una plantilla compilada no funciona, si esto ocurre por favor envíe un informe de error. El siguiente ejemplo es una implementación en modo program: de una fórmula del foro MobileRead: «Poner la serie en el título, usando iniciales o una forma abreviada. Eliminar artículos al inicio del nombre de la serie (cualquiera).» Por ejemplo, para el libro «Las dos torres» en la serie «El señor de los anillos», la fórmula da sdla [02] Las dos torres. Usando plantillas estándar, la fórmula requiere tres columnas personalizadas y un panel de conexiones, como se explica a continuación: La solución requiere crear tres columnas compuestas. La primera columna se usa para eliminar los artículos iniciales. La segunda se usa para calcular la forma «abreviada». La tercera es para calcular la forma de «iniciales». Una vez tiene estas columnas, el panel de conexiones selecciona entre ellas. Puede ocultar alguna o las tres columnas en la vista de biblioteca: First column: Name: #stripped_series. Template: {series:re(^(A|The|An)\s+,)||} Second column (the shortened form): Name: #shortened. Template: {#stripped_series:shorten(4,-,4)} Third column (the initials form): Name: #initials. Template: {#stripped_series:re(([^\s])[^\s]+(\s|$),\1)} Plugboard expression: Template:{#stripped_series:lookup(.\s,#initials,.,#shortened,series)}{series_index:0> ˓→2.0f| [|] }{title} Destination field: title This set of fields and plugboard produces: Series: The Lord of the Rings Series index: 2 Title: The Two Towers Output: LotR [02] The Two Towers Series: Dahak Series index: 1 Title: Mutineers Moon Output: Dahak [01] Mutineers Moon 174 Capítulo 1. Secciones