Debido a la duda de un usuario de este foro sobre como agregar al Calibre las recetas personalizadas que se postean por aquí, hice este pequeño documento que creo que puede ser de utilidad para todos.
Espero que les sirva. ;)
Saludos.
Jeff.
Versión para imprimir
Debido a la duda de un usuario de este foro sobre como agregar al Calibre las recetas personalizadas que se postean por aquí, hice este pequeño documento que creo que puede ser de utilidad para todos.
Espero que les sirva. ;)
Saludos.
Jeff.
Si, util manual, yo estuve a punto de preguntarte, al final probando... (por cierto, CALIBRE tiene opcion a español, ;-) ) aunque como los manuales estan en ingles, mejor asi.
El formato del documento, en *.rtf es mas "versatil", pero bueno... muchos programes leen doc, aunque calibre no los convierte directamente, el *.rtf
----
salu2
Edit; cierto Jeff, no recordaba que en rtf ocupan casi el doble... perfecto entonces.
Yo tengo el Calibre puesto en ingles, y es que a veces las traducciones de las funciones al español no las hacen bien y hay cosas que no se entienden, por eso mejor lo dejo en el idioma original.
Trate de subirlo como .rtf, pero al final me salio un archivo muy pesado y por la restricción de tamaño para los archivos subidos a esta web, al final lo deje como .doc.
Saludos.
Jeff.
Para llevar un poquito más allá nuestras recetas podemos incluir pequeños trozos de código en ellas que las mejorarán sensiblemente.
Esta es una receta básica
en ella podemos incluir:Código:class AdvancedUserRecipe1294492627(BasicNewsRecipe):
title = u'Fuente de noticias desconocida'
oldest_article = 7
max_articles_per_feed = 100
feeds = []
Forzará a que lea la página con la codificación "latin" en vez de la estándar en calibre.Código:encoding ='latin'
Este trozo retira el javascript que pudiera estar en medio del código.Código:remove_javascript =True
Impide que se aplique la hoja de estilos de la página. Agiliza mucho el procesado de las noticias.Código:no_stylesheets =True
Añadimos nuestra propia hoja de estilo.Código:extra_css ='h1 {margin-bottom: .15em;font-size: 2.7em; font-family: Georgia, "Times New Roman", Times, serif;} .Antetitulo {margin: 1em 0;text-transform: uppercase;color: #999;} .PieFoto {margin: .1em 0;padding: .5em .5em .5em .5em;background: #F0F0F0;}'
Y ahora unos trozos de código que hacen maravillas:
Este trozo de código filtra toda la página y selecciona, en este caso los div con class noticia, y class primer_elemento. Los div que están fuera de estas clases quedan descartados. Para saber con que bloques quedarme yo uso una herramienta de chromiun que es inspeccionar elemento. Pinchando sobre la pagina con el botón derecho se abre un menú y encontramos esta herramienta.Código:keep_only_tags =dict(name='div', attrs={'class':['noticia primer_elemento']})
Tiene este aspecto:
http://img406.imageshack.us/img406/6...uequedarse.png
Uploaded with ImageShack.us
Uploaded with ImageShack.us
Uploaded with ImageShack.us
Como se ve al pasar el ratón sobre la estructura inferior se van sombreando las distintas partes de la página afectadas.
En este caso le pedimos que retire esas secciones.Código:remove_tags =[
dict(name='div', attrs={'class':['compartir', 'metadata_desarrollo_noticia', 'relacionadas', 'mas_info','publicidad publicidad_textlink', 'ampliarfoto']}),
dict(name='ul', attrs={'class':['bolos_desarrollo_noticia']}),
]
[http://img267.imageshack.us/img267/1...oquequitar.png
Uploaded with ImageShack.us
La construcción de estos dos últimos trozos de código puede parecer un poco complicado pero se construye siempre igual:
- Todos los trozos que pretendamos ver afectados van entre corchetes []
- Cada agrupación de trozos similares va dentro de un diccionario que se genera empezando con dict, y entre paréntesis el nombre del trozo, que bien puede ser el genérico div, como p, ul, o cualquier otro. Tras indicar el nombre, indicamos sus atributos (lo que identificará el trozo en concreto) que bien puede ser class, o id y tras un par de puntos ":" abrimos unos corchetes para agrupar todas las clases que queramos (claro está si también son del mismo tipo de trozo, es decir, si son todos div, o p, o ul...)
- Los distintos diccionarios van separados por comas
Y con estos detalles podemos mejorar un poquito nuestras recetas. Espero que sea de utilidad y no haya resultado muy larga la explicación
Me vais a perdonar mi inutilidad... mira que está bien escrita la guía, pero lo intento y no hay manera. Pego el código, de doy a "Añadir/actualizar receta" y me sale un mensaje de error: ERROR: Entrada incorrecta: <p>No se puede crear la receta. Error:<br>expected an indented block (recipe1.py, line 20)
¿Qué puedo estar haciendo mal? Gracias de antemano
Muchas gracias! Ya lo he utilizado y me ha salido muy bien ;)
Una pregunta, al añadir estas recetas personalizadas no se puede hacer como cuando vienen ya "precargadas" con el Calibre y hacer que te las descargue en un determinado momento, no? Tienes que mandarle tu que las descargue en el momento, no?
Gracias de antemano!
uvepece las recetas personalizadas las puedes usar igual que el resto de recetas. Únicamente tienes que seleccionarlas del apartado Personalizadas al ir a editar las tareas.
mis_suscripciones trata de meter un tabulador a todas las etiquetas. Únicamente tiene que ir pegado a la línea izquierda lo de class ... Prueba y comenta lo que suceda. Otra opción es mandarme la receta por MP y la echo un ojo.;)
Muy interesante, gracias!! ;)