Manual de Calibre | Page 152

Manual de usuario de calibre, Publicación 2.73.0 count(separador) – interpreta el valor como una lista de elementos separados por separador y devuelve el número de elementos de la lista. La mayoría de las listas usan una coma como separador, pero «authors» usa un ampersand («&»). Ejemplos: {tags:count(,)}, {authors,count(&)} format_number(plantilla) – interpreta el valor como un número y le da formato usando una plantilla de formato de python como «{0:5.2f}» o «{0:,d}» o «${0:5,.2f}». El nombre del campo dentro de la plantilla debe ser un 0 (cero) (el «{0:» en los ejemplos anteriores). Véase la documentación del lenguaje de plantillas y de python para más ejemplos. Devuelve un texto vacío si el formato falla. human_readable() – espera que el valor sea un número y devuelve un texto que representa ese número en KB, MB, GB, etc. ifempty(texto) – si el campo no está vacío, devuelve el valor del campo. En caso contrario devuelve texto. in_list(separador,patrón,encontrado,no_encontrado) – interpreta el campo como una lista de elementos separados por separador y compara patrón con cada valor de la lista. Si patrón coincide con alguno de los elementos de la lista, devuelve encontrado, en caso contrario devuelve no_encontrado. language_codes(nombres) – devuelve los códigos de idioma correspondientes a «nombres». Los nombres deben estar en el idioma actual. El argumento «nombres» es una lista separada por comas. language_strings(códigos,localizar) – devuelve los nombres de los idiomas identificados por códigos. Si localizar es cero, devuelve los nombres en inglés. Si localizar no es cero, devuelve los nombres en el idioma actual. El argumento códigos es una lista separada por comas. list_item(índice,separador) – interpreta el campo como una lista de elementos separados por «separador» y devuelve el elemento número «índice». El primer elemento es el número cero. El último elemento puede obtenerse con list_item(-1,separador). Si el elemento no está en la lista devuelve un valor vacío. El separador tiene el mismo significado que en la función «count». lookup(patrón,campo,patrón,campo,...,otro_campo) – como switch, pero los argumentos son nombres de campo (metadatos), no texto. Se usará el valor del campo apropiado. Tenga en cuenta que puesto que las columnas compuestas son campos, puede usar esta función en un campo compuesto para usar el valor de otro campo compuesto. Esto es muy útil para construir rutas de guardado variables (más sobre esto más adelante). re(patrón,sustitución) – devuelve el campo después de aplicar la expresión regular. Todas las veces que aparezca patrón se sustituirá por sustitución. Como en todo calibre, se trata de expresiones regulares compatibles con python. select(clave) – interpreta el campo como una lista de elementos separados por comas, con los elementos de la forma «id:valor». Encuentra la pareja con «id» igual a «clave» y devuelve el valor correspondiente. Esta función es particularmente útil para extraer un valor tal como el isbn del conjunto de identificadores de un libro. shorten(car_izq,texto_medio,car_der) – devuelve una versión abreviada del campo, consistente en un número car_izq de caracteres del principio del campo, seguidos de texto_medio, seguido de un número car_der de caracteres del final del campo. car_izq y car_der deben ser números enteros. Por ejemplo, supongamos que el título del libro es «Novísima recopilación de las leyes de España» y que quiere que quepa en un espacio de 15 caracteres a lo sumo. Si usa {title:shorten(9,-,5)}, el resultado será «Novísima -spaña». Si la longitud del campo es menor que car_izq + car_der + la longitud de texto_medio, se usará el campo intacto. Por ejemplo, el título «La colmena» no se cambiará. str_in_list(val,separador,texto,val_encontrado,val_no_encontrado) – considera «val» como una lista de elementos separados por «separador», y compara el «texto» con cada valor de la lista. Si el texto coincide con alguno de los valores, devuelve «val_encontrado», en caso contrario devuelve «val_no_encontrado». Si el texto contiene separadores, también se considera como una lista y se comprueba cada elemento. subitems(val,índice_inicio,índice_fin) – Esta función se usa para separar listas de elementos jerárquicos de tipo etiqueta, tales como los géneros. Interpreta val como una lista de elementos separados por 148 Capítulo 1. Secciones