Manual de Calibre | Page 173

Manual de usuario de calibre, Publicación 2.73.0 re_group(val, patrón, plantilla_para_grupo_1, para_grupo_2, ...) class calibre.utils.formatter_functions.BuiltinReGroup re_group(val, patrón, plantilla_para_grupo_1, para_grupo_2, ...) – devuelve un texto formado por aplicación de la expresión regular «patrón» al valor «val», sustituyendo cada coincidencia con el texto calculado al sustituir cada grupo por el valor devuelto por la correspondiente plantilla. El valor de correspondencia original del grupo está disponible como «$». En el modo de programación de plantillas, como en las funciones «template» y «eval», use «[[» en lugar de «{» y «]]» en lugar de «}». El siguiente ejemplo en modo de programación de plantillas busca un nombre de serie con más de una palabra y pone la primera palabra en mayúsculas: {series:’re_group($, “(S* )(.*)”, “[[$:uppercase()]]”, “[[$]]”)’} shorten(val, car_izq, texto_medio, car_der) class calibre.utils.formatter_functions.BuiltinShorten shorten(val, car_izq, texto_medio, car_der) – devuelve una versión abreviada de «val», consistente en un número «car_izq» de caracteres del principio del «val», seguidos de «texto_medio», seguido de un número «car_der» de caracteres del fina de «val». «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(8,-,6)}, el resultado será «Novísima-Españ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á. strcat(a, b, ...) class calibre.utils.formatter_functions.BuiltinStrcat strcat(a, b, ...) – admite un número arbitrario de argumentos. Devuelve un texto consistente en la unión de todos los argumentos consecutivamente. strcat_max(máx, texto1, prefijo2, texto2, ...) class calibre.utils.formatter_functions.BuiltinStrcatMax strcat_max(máx, texto1, prefijo2, texto2, ...) – devuelve un texto formado por concatenación de los argumentos. El valor devuelto es inicialmente «texto1». Se van añadiendo parejas «prefijo, texto» al final del valor mientras la longitud del resultado sea menor que «máx». El resultado es siempre al menos «texto1», aunque su longitud sea mayor que «máx». Puede especificar tantas parejas «prefijo, texto» como desee. strlen(a) class calibre.utils.formatter_functions.BuiltinStrlen strlen(a) – devuelve la longitud del texto pasado como argumento. substr(texto, inicio, fin) class calibre.utils.formatter_functions.BuiltinSubstr substr(texto, inicio, fin) – devuelve los caracteres entre la posición «inicio» y «fin» de «texto». El primer carácter de «texto» está en la posición cero. Si «fin» es negativo, entonces indica la posición contando desde la derecha. Si «fin» es cero, indica el último carácter. Por ejemplo, «substr(‘12345’, 1, 0)» devuelve «2345», y «substr(‘12345’, 1, -1)» devuelve «234». 1.9. Cursillos 169