Documentation API pour les recettes

L’API pour l’écriture des recettes est définie par BasicNewsRecipe

class calibre.web.feeds.news.BasicNewsRecipe(options, log, progress_reporter)[source]

Classe de base qui contient toute la logique nécessaire dans toutes les recettes. En comprenant progressivement plus des fonctionnalités de cette classe, vous pouvez progressivement faire des recettes plus personnalisées/plus puissantes. Pour un tutoriel d’introduction sur la création des recettes, voir Ajouter votre site web favori d’actualités.

abort_article(msg=None)[source]

Appelle cette méthode à l’intérieur de l’une des méthodes pré-traitée pour avorter le téléchargement de l’article actuel. Utile pour sauter les articles qui contiennent du contenu inadéquat, tel que les articles vidéos purs.

abort_recipe_processing(msg)[source]

Entraîne le système de téléchargement de recette à abandonner le téléchargement de cette recette, affichant un simple message d’explication à l’utilisateur.

add_toc_thumbnail(article, src)[source]

Appelez ceci à partir de populate_article_metadata avec l’attribut src d’une étiquette <img> de l’article qu’il est approprié d’utiliser comme la vignette représentant l’article dans la Table des Matières. Si la vignette qui est actuellement utilisée est dépendante du périphérique (actuellement uniquement utilisé par les Kindle). Notez que l’image référencée doit être une image qui a été téléchargée avec succès, autrement elle sera ignorée.

classmethod adeify_images(soup)[source]

Si votre recette quand elle est convertie en EPUB a des problèmes avec les images quand il est vu dans Adobe Digital Editions, appelez cette méthode depuis postprocess_html().

canonicalize_internal_url(url, is_link=True)[source]

Renvoie un ensemble de représentations classiques de url. L’implémentation par défaut utilise juste le hostname du serveur et le chemin de l’URL, ignorant tout paramètres de requête, fragments, etc. Les représentations classiques doivent être uniques tout au long des URLs pour cette source d’actualités. Si elles ne le sont pas, alors les liens internes peuvent être incorrectement résolus.

Paramètres:

is_link – Est True si l’URL provient d’un lien interne dans un fichier HTML. False si l’URL est l’URL utilisée pour télécharger un article.

cleanup()[source]

Appelé après que tous les articles aient été téléchargés. Utilisez-le pour faire n’importe quel nettoyage comme se déconnecter des sites d’abonnement, etc.

clone_browser(br)[source]

Clonez le navigateur. Les navigateurs clonés sont utilisés pour les téléchargements en parallèle, puisque mechanize n’est pas un thread sécurisé. Les routines par défaut de clonage devraient capturer la plupart des personnalisations de navigateur, mais si vous faites quelque chose d’exotique dans votre recette, vous devriez outrepasser cette méthode dans votre recette et cloner manuellement.

Les instances navigateurs clonées utilisent le même, thread sécurisé CookieJar par défaut, à moins que vous n’ayez adapté la manipulation des cookies.

default_cover(cover_file)[source]

Créer une couverture générique pour les recettes qui n’ont pas de couverture

download()[source]

Téléchargez et prétraitez tous les articles des flux dans cette recette. Cette méthode devrait être appelée uniquement une fois sur une instance particulière de recette. L’appeler plus d’une fois mènera à un comportement non défini. :return: Path to index.html

extract_readable_article(html, url)[source]

Extrait le contenu de l’article principal à partir de “html”, nettoie et retourne comme un tuple (article_html, extracted_title). Basé sur l’algorithme original de lisibilité par Arc90.

get_article_url(article)[source]

Contourne dans une sous-classe pour personnaliser l’extraction de l”URL qui pointe vers le contenu de chaque article. Retourne l’URL de l’article. Il est appelé avec article, un objet représentant un article analysé depuis un plux. Voir feedparser. Par défaut il regarde après le lien original (pour les flux syndiqués par l’intermédiaire d’un service comme PeedBurner ou Pheedo) et si trouvé, retourne cela ou renvoie à article.link.

get_browser(*args, **kwargs)[source]

Retourne une instance de navigateur utilisée pour récupérer des documents à partir du web. Par défaut, retourne une instance de navigateur mechanize qui supporte les cookies, ignore robots.txt, traite les rafraîchissements et a un agent utilisateur aléatoire commun.

Pour personnaliser le navigateur, remplacez cette méthode dans votre sous-classe par :

def get_browser(self, *a, **kw):
    br = super().get_browser(*a, **kw)
    # Add some headers
    br.addheaders += [
        ('My-Header', 'one'),
        ('My-Header2', 'two'),
    ]
    # Set some cookies
    br.set_cookie('name', 'value')
    br.set_cookie('name2', 'value2', domain='.mydomain.com')
    # Make a POST request with some data
    br.open('https://someurl.com', {'username': 'def', 'password': 'pwd'}).read()
    # Do a login via a simple web form (only supported with mechanize browsers)
    if self.username is not None and self.password is not None:
        br.open('https://www.nytimes.com/auth/login')
        br.select_form(name='login')
        br['USERID']   = self.username
        br['PASSWORD'] = self.password
        br.submit()
    return br
get_cover_url()[source]

Renvoie une URL à l’image de couverture pour cette question ou None. Par défaut il retourne la valeur du membre self.cover_url qui est normalement None. Si vous voulez que votre recette télécharge une couverture pour le livre numérique outrepassez cette méthode dans votre sous-classe, ou paramétrez la variable membre `self.cover_url`avant que cette méthode ne soit appelée.

get_extra_css()[source]

Par défaut renvoie self.extra_css. Outrepassez si vous voulez générer par programme extra_css

get_feeds()[source]

Retourne une liste de flux RSS à récupérer pour ce profil. Chaque élément de la liste doit être un tuple de 2 éléments de la forme (title,url). Si title est None ou une chaîne vide, le titre du flux est utilisé. Cette méthode est utile si votre recette doit faire quelques traitements pour déterminer la liste des flux à télécharger. Si oui, outrepassez dans votre sous-classe.

get_masthead_title()[source]

Outrepasser dans la sous-classe pour utiliser quelque chose d’autre que le titre de la recette

get_masthead_url()[source]

Retourne une URL à l’image masthead pour cette question ou None. Par défaut il retourne la valeur du membre selfl.masthead_url qui est normalement None. Si vous voulez que votre recette télécharge une masthead pour le livre numérique outrepasser cette méthode dans votre sous-classe, ou paramétrer la variable membre `self.masthead_url`avant que cette méthode soit appelée. Les images Masthead sont utilisées dans les fichiers MOBI de Kindle.

get_obfuscated_article(url)[source]

Si vous avez défini articles_are_obfuscated, cette méthode est appelée avec chaque URL d’article. Elle doit retourner le chemin à un fichier sur le système de fichier qui contient l’article HTML. Ce ficher est traité par le moteur de récupération récursif d’HTML, aussi il peut contenir des liens vers des pages/images sur le web. Vous pouvez également renvoyer un dictionnaire de la forme suivante : {“data” : <HTML data>, “url” : <the resolved URL of the article>}. Cela évite de devoir créer des fichiers temporaires. La clé url du dictionnaire est utile si l’URL effective de l’article est différente de l’URL passée dans cette méthode, par exemple, à cause de redirections. Elle peut être omise si l’URL reste inchangée.

Cette méthode est typiquement utile pour les sites qui essayent de rendre difficile l’accès automatique au contenu d’article.

get_url_specific_delay(url)[source]

Renvoie le délai en secondes avant le téléchargement de cette URL. Si vous souhaitez déterminer par programme le délai pour l’URL spécifié, surchargez cette méthode dans votre sous-classe, en renvoyant self.delay par défaut pour les URL que vous ne souhaitez pas affecter.

Renvoie:

Un nombre à virgule flottante, le délai en secondes.

classmethod image_url_processor(baseurl, url)[source]

Effectue un certain traitement sur les URLs d’images (peut-être en supprimant les restrictions de taille pour les images générées dynamiquement, etc.) et renvoie l’URL prétraitée. Retourne None ou une chaîne vide pour ne pas récupérer l’image.

index_to_soup(url_or_raw, raw=False, as_tree=False, save_raw=None)[source]

Méthode commode qui prend une URL vers la page index et retourne une BeautifulSoup de celle-ci.

url_or_raw: Soit une URL soit la page d’index téléchargée comme une chaîne

Renvoie True si le lien devrait être suivi ou autrement False. Par défaut, augmente NotImplementedError qui amène le téléchargement à l’ignorer.

Paramètres:
  • url – L’URL à suivre

  • tag – La balise depuis laquelle l’URL a été dérivée

parse_feeds()[source]

Crée une liste d’articles depuis la liste des flux renvoyés par BasicNewsRecipe.get_feeds(). Renvoie une liste d’objets Feed.

parse_index()[source]

Cette méthode devrait être appliquée dans les recettes qui analysent un site Web au lieu des flix pour produire une liste d’articles. Les utilisations typiques sont pour les sources d’actualités qui ont une page Web « édition imprimable » qui énumère tous les articles dans l’actuelle édition imprimable. Si cette fonction est mise en application, elle sera employée de préférence à meth:BasicNewsRecipe.parse_feeds.

Il doit renvoyer une liste. Chaque élément de la liste doit être un tuple de 2 éléments de la forme ('feed title', list of articles).

Chaque liste d’articles doit contenir des dictionnaires de la forme:

{
'title'       : article title,
'url'         : URL of print version,
'date'        : The publication date of the article as a string,
'description' : A summary of the article
'content'     : The full article (can be an empty string). Obsolete
                do not use, instead save the content to a temporary
                file and pass a file:///path/to/temp/file.html as
                the URL.
}

Pour un exemple, regardez la recette pour télécharger The Atlantic. En plus, vous pouvez ajouter author pour l’auteur de l’article.

Si vous voulez arrêtez le traitement pour quelque raison et que vous avez calibre qui affiche à l’utilisateur un simple message plutôt qu’une erreur appelez abort_recipe_processing().

populate_article_metadata(article, soup, first)[source]

Appelé quand chaque page HTML appartenant à l’article est téléchargée. Conçu afin d’obtenir les métadonnées de l’article comme auteur/résumé/etc. à partir du HTML analysé (soup).

Paramètres:
  • article – Un objet de la classe calibre.web.feeds.Article. Si vous changez le résumé, n’oubliez pas de changer également le text_sumary

  • soup – HTML analysé appartenant à cet article

  • first – Vrai si et seulement si le HTML filtré est la première page de l’article.

postprocess_book(oeb, opts, log)[source]

Exécutez n’importe quel post-traitement nécessaire sur le livre numérique téléchargé et analysé.

Paramètres:
  • oeb – Un objet OEBBook

  • opts – Options de conversion

postprocess_html(soup, first_fetch)[source]

Cette méthode est appelée avec la source de chaque fichier HTML téléchargé, après qu’il soit analysé pour des liens et des images. Il peut être employé pour faire arbitrairement un puissant post traitement sur l”HTML. Il devrait renvoyer soup après l’avoir traité.

Paramètres:
  • soup – Une instance BeautifulSoup contenant l”HTML téléchargé.

  • first_fetch – Vrai si c’est la première page d’un article.

preprocess_html(soup)[source]

Cette méthode est appelée avec la source de chaque fichier HTML téléchargé, avant qu’il soit analysé pour des liens et des images. Il est appelé après le nettoyage comme spécifié par remove_tags etc. Il peut être employé pour faire arbitrairement un puissant post traitement sur l”HTML. Il devrait renvoyer soup après l’avoir traité.

soup: Une instance BeautifulSoup contenant l”HTML téléchargé.

preprocess_image(img_data, image_url)[source]

Exécute certains traitements sur les données d’une image téléchargée. Ceci est appliqué sur les données brutes avant que le redimensionnement soit terminé. Dois restituer les données brutes traitées. Restitue Aucun pour sauter l’image.

preprocess_raw_html(raw_html, url)[source]

Cette méthode est appelée avec la source de chaque fichier HTML téléchargé, avant d’être analysé dans un arbre d’objet. raw_html est une chaîne unicode représentant l’HTML brut téléchargé du web. url est l’URL à partir de laquelle l’HTML a été téléchargé.

Notez que cette méthode agit avant preprocess_regexps.

La méthode doit retourner le rw_html traité comme un objet unicode.

classmethod print_version(url)[source]

Prendre une url pointant vers une page web avec du contenu d’article et renvoie l”URL pointant vers la version imprimable de l’article. Par défaut ne fait rien. Par exemple:

def print_version(self, url):
    return url + '?&pagewanted=print'
publication_date()[source]

Utiliser cette méthode pour définir la date à laquelle ce numéro a été publié. La valeur par défaut est le moment du téléchargement. Doit retourner un objet datetime.datetime.

skip_ad_pages(soup)[source]

Cette méthode est appelée avec la source de chaque fichier HTML téléchargé, avant tout les attributs de nettoyage comme remove_tags, keep_only_tags soient appliqués. Notez que preprocess_regexps aura déjà été appliqué. Il est censé permettre à la recette d’ignorer les pages de pub. Si la soup représente une page de pub, renvoie l’HTML de la page réelle. Autrement renvoie None.

soup: Une instance BeautifulSoup contenant l”HTML téléchargé.

sort_index_by(index, weights)[source]

Méthode commode pour trier les titres dans index selon weights. index est trié sur place. Retourne `index.

index : Une liste de titres.

weights: Un dictionnaire qui mappe les poids aux titres. Si quelques titres dans index n’ont pas de poids, ils sont supposés avoir un poids de 0.

classmethod tag_to_string(tag, use_alt=True, normalize_whitespace=True)[source]

Méthode commode pour prendre une Balise BeautifulSoup et extraire le texte de celle-ci récursivement, incluant n’importe quelles sections CDATA et les attributs alt tag. Renvoie une chaîne Unicode éventuellement vide.

usr_°alt : Si `True`essaye d’utiliser l’attribut alt pour les balises qui n’ont pas de contenu textuel.

tag: BeautifulSoup Tag

articles_are_obfuscated = False

Paramétrez à True et implémentez get_obfuscated_article() pour manipuler les sites Web qui essayent de le rendre difficile de ratisser le contenu.

auto_cleanup = False

Extrait automatiquement tout le texte des pages d’articles téléchargés. Utilise les algorithmes du projet lisibilité. Paramétrer ceci à vrai, signifie que vous n’avez pas à vous inquiéter à propos du nettoyage manuel de l’HTML téléchargé (cependant un nettoyage manuel sera toujours supérieur).

auto_cleanup_keep = None

Spécifier les éléments que l’algorithme de nettoyage automatique ne devrait jamais supprimer. La syntaxe est une expression XPath. Par exemple:

auto_cleanup_keep = '//div[@id="article-image"]' will keep all divs with
                                               id="article-image"
auto_cleanup_keep = '//*[@class="important"]' will keep all elements
                                            with class="important"
auto_cleanup_keep = '//div[@id="article-image"]|//span[@class="important"]'
                  will keep all divs with id="article-image" and spans
                  with class="important"
browser_type = 'mechanize'

Le moteur de navigation simulé à utiliser lors du téléchargement à partir de serveurs. Par défaut, le moteur de navigation mechanize de Python, qui permet de se connecter, est utilisé. Cependant, si vous n’avez pas besoin de vous connecter, envisagez de changer cela pour “webengine” qui utilise un véritable navigateur Chromium pour effectuer les requêtes réseau ou “qt” qui utilise le backend Qt Networking. “webengine” et “qt” supportent tous deux HTTP/2, ce qui n’est pas le cas de mechanize, et sont donc plus difficiles à identifier pour les services de protection contre les robots.

center_navbar = True

Si True la barre de navigation est alignée au centre, autrement elle est alignée à gauche.

compress_news_images = False

Set this to False to ignore all scaling and compression parameters and pass images through unmodified. If True and the other compression parameters are left at their default values, images will be scaled to fit in the screen dimensions set by the output profile and compressed to size at most (w * h)/16 where w x h are the scaled image dimensions.

compress_news_images_auto_size = 16

Le facteur utilisé lors de la compression automatique des images JPEG. Si réglé à None, la compression automatique est désactivée. Autrement, les images seront réduites de taille à (w * h)/compress_news_images_auto_size bytez si possible en réduisant le niveau de qualité, où w x h sont les dimensions de l’image en pixels. La qualité minimale JPEG sera de 5/100 aussi est-il possible que la contrainte ne sera pas rencontrée.Ce paramètre peut être outrepassé par le paramètre compress_news_images_max_size qui procure une taille fixe pour les images. Notez que si vous activez scale_news_images_to_device alors l’image sera d’abord mise à l’échelle et ensuite sa qualité diminuée jusqu’à ce que sa taille soit moins que (w * h)/factor où w et h sont maintenant les dimensions de l’image mise à l’échelle,

compress_news_images_max_size = None

Paramétrer la qualité JPEG afin que les images n’excèdent pas la taille donnée (en KBytes). Si réglé, ce paramètre outrepasse la compression automatique par l’intermédiaire de compress_news_images_auto_size. La qualité minimale JPEG sera de 5/100 ainsi il est possible que cette contrainte ne sera pas rencontrée.

conversion_options = {}

Options spécifiques de recette pour contrôler la conversion du contenu téléchargé dans un livre numérque. Ceci outrepassera n’importe quelle valeur spécifiée par l’utilisateur ou une extension, aussi ne l’utilisr que si absolument nécessaire. Par exemple:

conversion_options = {
  'base_font_size'   : 16,
  'linearize_tables' : True,
}
cover_margins = (0, 0, '#ffffff')

Par défaut, l’image de couverture renvoyée par get_cover_url() sera utilisée comme couverture du périodique. Remplacer ceci dans votre recette donne l’instruction à calibre de rendre la couverture téléchargée dans un cadre dont la largeur et la hauteur sont exprimées en pourcentage de la couverture téléchargée. cover_margins = (10, 15, “#ffffff”) rembourre la couverture avec une marge blanche de 10px à gauche et à droite, 15px en haut et en bas. Les noms des couleurs sont définis ici. Notez que pour une raison quelconque, le blanc ne fonctionne pas toujours sous Windows. Utilisez #ffffff à la place

delay = 0

Délai par défaut entre deux téléchargements consécutifs, en secondes. L’argument peut être un nombre à virgule flottante pour indiquer un temps plus précis. Voir get_url_specific_delay() pour implémenter des délais par URL.

description = ''

Quelques lignes qui décrivent le contenu téléchargé par cette recette. Ceci sera employé principalement dans un GUI qui présente une liste de recettes.

encoding = None

Spécifiez un codage de priorité pour les sites qui ont des spécifications incorrectes de jeu de caractère . Le plus commun étant de spécifier latin1 et d’utiliser cp1252. Si aucun, essai pour détecter theencoding. Si None, essaye de détecter l’encodage. S’il est appelable, L’appelable est appelé avec deux arguments : L’objet de recette et la source à décoder. Elle doit renvoyer la source décodée.

extra_css = None

Spécifiez n’importe quel CSS supplémentaire qui devrait être ajouté aux fichiers HTML téléchargés. Il sera inséré dans les balises <style> juste avant la balise de fermeture </head> outrepassant tous les CSS excepté ce qui est déclaré utilisant un attribut de style sur des balises HTML individuelles. Notez que si vous voulez générer par programme extra_css écrasera la méthode get_extra_css() à la place. Par exemple:

extra_css = '.heading { font: serif x-large }'
feeds = None

Liste des flux à télécharger. Peut être soit [url1, url2, ...] ou [('titre1', url1), ('titre2', url2),...]

filter_regexps = []

Liste d’expressions régulières qui détermine quels liens à ignorer. Si vide, elle est ignorée. Utilisé seulement si is_link_wanted n’est pas implémenté. Par exemple:

filter_regexps = [r'ads\.doubleclick\.net']

supprimera toutes les URL qui contiennent ads.doubleclick.net.

Seulement une de BasicNewsRecipe.match_regexps ou de BasicNewsRecipe.filter_regexps devrait être définie.

handle_gzip = True

Mettre à False si vous ne voulez pas utiliser les transferts gzippés avec le navigateur mechanize. Notez que certains vieux serveurs ne fonctionnent plus avec gzip.

ignore_duplicate_articles = None

Ignorer les articles en double qui sont présents dans plus d’une section. Un article en doublon est un article qui a le même titre et/ou URL. Pour ignorer les articles avec le même titre réglez ceci à :

ignore_duplicate_articles = {'title'}

Pour utiliser les URLs à la place réglez le à :

ignore_duplicate_articles = {'url'}

Pour correspondre au titre ou à l’URL, réglez à :

ignore_duplicate_articles = {'title', 'url'}
keep_only_tags = []

Garder uniquement les balises spécifiées et leurs descendants. Pour le format pour spécifier une balise voir BasicNewsRecipe.remove_tags. Si la liste n’est pas vide, alors la balise `<body>`sera vidée et sera remplie avec les balises qui correspondent aux entrées dans la liste. Parc exemple:

keep_only_tags = [dict(id=['content', 'heading'])]

gardera uniquement les balises qui ont un attribut id de « content » ou de « heading ».

language = 'und'

La langue dans laquelle les actualités sont. Doit être un code ISO-639 soit deux ou trois caractères de long

masthead_url = None

Par défaut, caparlibre emploiera une image défaut pour le masthead (Kindle seulement). Outrepassez ceci dans votre recette pour fournir une URL à utiliser comme masthead.

match_regexps = []

Liste d’expressions régulières qui détermine quels liens à suivre. Si vide, elle est ignorée. Utilisé seulement si is_link_wanted n’est pas implémenté. Par exemple:

match_regexps = [r'page=[0-9]+']

correspondra à toutes les URL qui contiennent page=some number.

Seulement une de BasicNewsRecipe.match_regexps ou de BasicNewsRecipe.filter_regexps devrait être définie.

max_articles_per_feed = 100

Nombre maximum d’articles à téléchargé de chaque flux. Ceci est principalement utile pour les flux qui n’ont pas de date d’article. Pour plus de flux, vous devriez utiliser BasicNewsRecipe.oldest_article

needs_subscription = False

Si True le GUI demandera à l’utilisateur pour un nom d’utilisateur et un mot de passe à utiliser lors du téléchargement Si réglé à « optionnal » l’utilisation du nom d’utilisateur et du mot de passe devient optionnel

no_stylesheets = False

Indicateur commode pour désactiver le chargement des feuilles de style pour les sites Web qui ont des feuilles de style inappropriées excessivement complexes pour la conversion de formats de livres numériques Si True les feuiiles de style ne sont pas téléchargées et ne sont pas traitées

oldest_article = 7.0

L’article le plus ancien à télécharger de cette source d’actualités. En jours.

preprocess_regexps = []

Liste de règles de substitution term:`regexp à exécuter sur l”HTML téléchargé. Chaque élément de la liste devrait un tuple à deux éléments. Le premier élément du tuple devrait être une expression régulière compilée et la seconde et le second un appelable qui prend un seul objet qui correspond et retourne une chaîne qui remplace la correspondance. Par exemple:

preprocess_regexps = [
   (re.compile(r'<!--Article ends here-->.*</body>', re.DOTALL|re.IGNORECASE),
    lambda match: '</body>'),
]

supprimera tout de <!–Article ends here–> à </body>.

publication_type = 'unknown'

Le type de publication a placé au journal, au magazine ou au blog. Si réglé à None, aucune métadonnée de type publication ne sera écrite dans le fichier opf.

recipe_disabled = None

Régler à une chaîne non vide pour désactiver la recette. La chaîne sera utilisée comme message de désactivation

recipe_specific_options = None

Spécifier les options spécifiques à cette recette. L’utilisateur pourra les personnaliser dans l’onglet Avancé de la boîte de dialogue Récupérer des actualités ou dans la ligne de commande ebook-convert. Les options sont spécifiées sous la forme d’un dictionnaire associant le nom de l’option aux métadonnées de l’option. Par exemple :

recipe_specific_options = {
    'edition_date': {
        'short': 'The issue date to download',
        'long':  'Specify a date in the format YYYY-mm-dd to download the issue corresponding to that date',
        'default': 'current',
    }
}

Lorsque la recette est exécutée, self.recipe_specific_options est un dict qui associe le nom de l’option à la valeur de l’option spécifiée par l’utilisateur. Si l’option n’est pas spécifiée par l’utilisateur, elle aura la valeur spécifiée par « default ». Si aucune valeur par défaut n’est spécifiée, l’option ne figurera pas du tout dans le dict lorsqu’elle n’est pas spécifiée par l’utilisateur.

recursions = 0

Nombre de niveaux de liens à suivre sur des pages web d’article

remove_attributes = []

Liste des attributs à supprimer de toutes les balises Par exemple:

remove_attributes = ['style', 'font']
remove_empty_feeds = False

Si True les flux vides seront supprimés de la sortie. Cette option n’a pas d’effet si parse_index est outrepassée dans la sous classe. Cela s’indique seulement pour les recettes qui retournent une liste de flux utilisant flux ou get_feeds(). C’est aussi utilisé si vous employez l’option ignore_duplicate_article.

remove_javascript = True

Indicateur commode pour retirer toutes les balises Javascript de l’HTML téléchargé

remove_tags = []

Liste de balises qui doivent être supprimées. Les balises spécifiées sont supprimées de l’HTML téléchargé. Une balise est spécifiée comme un dictionnaire de la forme:

{
 name      : 'tag name',   #e.g. 'div'
 attrs     : a dictionary, #e.g. {'class': 'advertisment'}
}

Toutes les clés sont optionnelles. Pour une explication complète du critère de recherche, voir Beautiful Soup <https://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-the-tree> __ Un exemple commun:

remove_tags = [dict(name='div', class_='advert')]

Ceci supprimera toutes les balises <div class= »advert »> et tous leurs descendants de l”HTML téléchargé.

remove_tags_after = None

Supprimer toutes les balises qui surviennent après la balise spécifiée. Pour le format pour spécifier une balise voir BasicNewsRecipe.remove_tags. Par exemple:

remove_tags_after = [dict(id='content')]

supprimera toutes les balises après le premier élément avec id= »content ».

remove_tags_before = None

Supprimer toutes les balises qui surviennent avant la balise spécifiée. Pour le format pour spécifier une balise voir BasicNewsRecipe.remove_tags. Par exemple:

remove_tags_before = dict(id='content')

supprimera toutes les balises avant le premier élément avec id= »content ».

requires_version = (0, 6, 0)

Version minimale de calibre pour utiliser cette recette

Si réglé à True alors les liens dans les articles téléchargés qui pointent vers d’autres articles téléchargés sont changés pour pointer vers la copie téléchargée de l’article plutôt que son URL web originale. Si vous réglez à True, vous aurez aussi besoin d’implémenter canonicalize_internal_url() pour travailler avec le schéma d’URL de votre site web particulier.

reverse_article_order = False

Renversez l’ordre des articles dans chaque flux

scale_news_images = None

Dimensions maximales (h,l) pour mettre les images à l’échelle. Si scale_news_images_to_device est True est réglé aux dimensions de l’écran du périphérique sauf s’il n’y a pas de profil paramétré, dans quel cas elle est laissé à n’importe quelle valeur qui lui a été assignée (par défaut None)

scale_news_images_to_device = True

Remet les images à l’échelle pour s’ajuster aux dimensions de l’écran du périphérique paramétré par le profil de sortie ? Ignoré si aucun profil de sortie n’a été paramétré.

simultaneous_downloads = 5

Nombre de téléchargements simultanés. Réglé à 1 si le serveur est difficile. Automatiquement réduit à 1 si BasicNewsRecipe.delay > 0

summary_length = 500

Nombre de caractères maximum dans la description courte

template_css = '\n            .article_date {\n                color: gray; font-family: monospace;\n            }\n\n            .article_description {\n                text-indent: 0pt;\n            }\n\n            a.article {\n                font-weight: bold; text-align:left;\n            }\n\n            a.feed {\n                font-weight: bold;\n            }\n\n            .calibre_navbar {\n                font-family:monospace;\n            }\n    '

Le CSS qui est utilisé pour styliser les modèles, c-à-d les barres de navigation et les Tables des Matières. Plutôt qu’outrepasser cette variable, vous devriez utiliser extra_css dans votre recette pour personnaliser l’apparence.

timefmt = ' [%a, %d %b %Y]'

Le format de chaîne pour la date affichée sur la première page. Par défaut : Day_Name, Day_Number Month_Name Year

timeout = 120.0

Délai en secondes pour récupérer les fichiers depuis le serveur

title = 'Source d’Actualités Inconnue'

Le titre à utiliser pour le livre numérique

use_embedded_content = None

Normalement nous essayons de deviner si un flux a des articles complets inclus basé sur la longueur du contenu inclus. Si None, alors l’estimation par défaut est employée. Si True alors nous supposons toujours que les flux ont du contenu inclus et si False nous assumons toujours que le flux n’a pas de contenu inclus.