Manual de Calibre | Page 106

Manual de usuario de calibre, Publicación 2.73.0 persistent_data = functions['Function One']['persistent_data'] ... Depurar las funciones propias Puede depurar las funciones que cree con la función estándar de python print(). La salida de print() se mostrará en una ventana emergente cuando la búsqueda y sustitución se haya completado. Ya hemos visto anteriormente un ejemplo del uso de print() para mostrar un índice completo. Elegir un orden de archivos al ejecutar sobre múltiples archivos HTML Al ejecutar Sustituir todo sobre múltiples archivos HTML, el orden en que se procesan los archivos depende de qué archivos estén abiertos para modificar. Puede hacer que la búsqueda procese los archivos en el orden en el que aparecen estableciendo el attributo file_order de la función, de esta manera: def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, ˓→**kwargs): ... replace.file_order = 'spine' file_order acepta dos valores, spine y spine-reverse, que hacen que el la búsqueda procese archivos múltiples en el orden en que aparecen en el libro, hacia adelante o hacia atrás, respectivamente Hacer que una función se ejecute una vez más después de la última coincidencia A veces, como en el ejemplo anterior del índice generado automáticamente, es útil que la función se ejecute una vez adicional después de haber encontrado la última coincidencia. Puede conseguir esto estableciendo el atributo call_after_last_match en la función, de esta manera: def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, ˓→**kwargs): ... replace.call_after_last_match = True Añadir la salida de una función al texto marcado Al ejecutar una búsqueda y sustitución sobre un texto marcado, a veces es útil añadir algún texto al final del texto marcado. Puede hacer esto estableciéndo el atributo append_final_output_to_marked en la función (tenga en cuenta que también debe establecer call_after_last_match), de esta manera: def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, ˓→**kwargs): ... return 'some text to append' replace.call_after_last_match = True replace.append_final_output_to_marked = True 102 Capítulo 1. Secciones