API dokumentacija za recepte

API za pisanje recepata definisan je klasom BasicNewsRecipe.

class calibre.web.feeds.news.BasicNewsRecipe(options, log, progress_reporter)[изворни код]

Osnovna klasa koja sadrži logiku potrebnu svim receptima. Zamenom sve većeg dela njenih mogućnosti možete praviti sve prilagođenije i moćnije recepte. Uvod u pravljenje recepata potražite u Dodavanje omiljenog sajta s vestima.

classmethod adeify_images(soup)[изворни код]

Ako recept pretvoren u EPUB ima problema sa slikama pri prikazu u programu Adobe Digital Editions, pozovite ovaj metod iz postprocess_html().

classmethod image_url_processor(baseurl, url)[изворни код]

Obradite URL adrese slika (na primer, uklonite ograničenja veličine kod dinamički generisanih slika) i vratite obrađeni URL. Vratite None ili prazan niz da biste preskočili preuzimanje slike.

classmethod print_version(url)[изворни код]

Prihvatite url veb-stranice sa sadržajem članka i vratite URL njegove verzije za štampu. Podrazumevano ne radi ništa. Na primer:

def print_version(self, url):
    return url + '?&pagewanted=print'
classmethod tag_to_string(tag, use_alt=True, normalize_whitespace=True)[изворни код]

Pomoćni metod koji prima objekat Tag biblioteke BeautifulSoup i rekurzivno izdvaja tekst iz njega, uključujući CDATA odeljke i atribute alt oznaka. Vraća Unicode niz koji može biti prazan.

use_alt: ako je True, pokušava da koristi atribut alt oznaka koje nemaju tekstualni sadržaj

tag: objekat Tag biblioteke BeautifulSoup

abort_article(msg=None)[изворни код]

Pozovite ovaj metod unutar nekog od metoda za prethodnu obradu da biste prekinuli preuzimanje tekućeg članka. Korisno je za preskakanje članaka s neodgovarajućim sadržajem, na primer onih koji sadrže samo video.

abort_recipe_processing(msg)[изворни код]

Zaustavlja preuzimanje ovog recepta i prikazuje korisniku kratku poruku s objašnjenjem.

add_toc_thumbnail(article, src)[изворни код]

Pozovite ovaj metod iz populate_article_metadata i prosledite mu atribut src oznake <img> iz članka, pogodan za umanjenu sliku koja predstavlja članak u sadržaju. Da li će se umanjena slika prikazati zavisi od uređaja (trenutno je koriste samo Kindle uređaji). Navedena slika mora biti uspešno preuzeta; u suprotnom se zanemaruje.

canonicalize_internal_url(url, is_link=True)[изворни код]

Vraća skup kanonskih oblika adrese url. Podrazumevana implementacija koristi samo ime servera i putanju URL adrese, zanemarujući parametre upita, fragmente i slično. Kanonski oblici moraju biti jedinstveni za sve URL adrese ovog izvora vesti. Ako nisu, interni linkovi mogu biti pogrešno razrešeni.

Параметри:

is_link -- Ima vrednost True ako URL potiče iz internog linka u HTML fajlu, a False ako je to URL korišćen za preuzimanje članka.

cleanup()[изворни код]

Poziva se pošto se preuzmu svi članci. Upotrebite ga za završne radnje, kao što je odjavljivanje sa sajtova koji zahtevaju pretplatu.

clone_browser(br)[изворни код]

Klonirajte pregledač br. Klonirani pregledači koriste se za višedretveno preuzimanje jer mechanize nije bezbedan za istovremeni rad u više niti. Podrazumevani postupak kloniranja trebalo bi da sačuva većinu podešavanja pregledača; ako ste recept posebno prilagodili, zamenite ovaj metod i ručno napravite klon.

Klonirane instance pregledača podrazumevano dele isti CookieJar, bezbedan za rad u više niti, osim ako ste prilagodili rukovanje kolačićima.

default_cover(cover_file)[изворни код]

Pravi opšte korice za recepte koji nemaju svoje korice.

download()[изворни код]

Preuzima i prethodno obrađuje sve članke iz dovoda ovog recepta. Ovaj metod treba pozvati samo jednom za određenu instancu recepta. Ponovno pozivanje može dovesti do nepredvidivog ponašanja. :return: putanja do index.html

extract_readable_article(html, url)[изворни код]

Izdvaja glavni sadržaj članka iz 'html', čisti ga i vraća kao par (article_html, extracted_title). Zasnovan je na izvornom algoritmu projekta readability koji je napravio Arc90.

get_article_url(article)[изворни код]

Zamenite ovaj metod u potklasi da biste prilagodili izdvajanje adrese URL koja vodi do sadržaja svakog članka. Vratite URL članka. Metod dobija article, objekat koji predstavlja obrađen članak iz dovoda. Pogledajte feedparser. Podrazumevano traži izvorni link (kod dovoda koji se prenose preko servisa kao što su FeedBurner ili Pheedo) i vraća ga ako ga pronađe; inače vraća article.link.

get_browser(*args, **kwargs)[изворни код]

Vraća instancu pregledača koja se koristi za preuzimanje dokumenata s veba. Podrazumevano vraća pregledač mechanize, koji podržava kolačiće, zanemaruje robots.txt, obrađuje osvežavanja i koristi nasumično izabran uobičajen korisnički agent.

Da biste prilagodili pregledač, zamenite ovaj metod u potklasi ovako:

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()[изворни код]

Vraća URL slike korica ovog izdanja ili None. Podrazumevano vraća vrednost člana self.cover_url, koja je obično None. Ako želite da recept preuzme korice e-knjige, zamenite ovaj metod u potklasi ili postavite promenljivu člana self.cover_url pre pozivanja metoda.

get_extra_css()[изворни код]

Podrazumevano vraća self.extra_css. Zamenite metod ako želite programski da generišete extra_css.

get_feeds()[изворни код]

Vraća spisak RSS dovoda koje treba preuzeti za ovaj profil. Svaki element mora biti par (title, url). Ako je title None ili prazan niz, koristi se naslov iz dovoda. Ovaj metod je koristan kada recept mora dodatno da obradi podatke da bi utvrdio koje dovode treba preuzeti. U tom slučaju zamenite ga u potklasi.

get_masthead_title()[изворни код]

Zamenite metod u potklasi ako želite da koristite naslov različit od naslova recepta.

get_masthead_url()[изворни код]

Vraća URL slike zaglavlja ovog izdanja ili None. Podrazumevano vraća vrednost člana self.masthead_url, koja je obično None. Ako želite da recept preuzme sliku zaglavlja e-knjige, zamenite metod u potklasi ili postavite self.masthead_url pre njegovog pozivanja. Slike zaglavlja koriste se u Kindle MOBI fajlovima.

get_obfuscated_article(url)[изворни код]

Ako postavite articles_are_obfuscated, ovaj metod se poziva za URL svakog članka. Treba da vrati putanju do fajla koji sadrži HTML članka. Taj fajl obrađuje rekurzivni mehanizam za preuzimanje HTML-a, pa može sadržati linkove ka veb-stranicama i slikama. Umesto toga, možete vratiti rečnik oblika {'data': <HTML data>, 'url': <the resolved URL of the article>}. Tako ne morate praviti privremene fajlove. Ključ url koristan je ako se stvarni URL članka razlikuje od onog prosleđenog metodu, na primer zbog preusmeravanja. Ako URL ostaje isti, taj ključ možete izostaviti.

Ovaj metod je posebno koristan za sajtove koji otežavaju automatski pristup sadržaju članaka.

get_url_specific_delay(url)[изворни код]

Vraća vreme čekanja u sekundama pre preuzimanja navedenog URL-a. Ako želite da ga određujete programski za svaki URL, zamenite metod u potklasi; za adrese na koje ne želite da utičete podrazumevano vratite self.delay.

Резултат:

Decimalni broj koji predstavlja vreme čekanja u sekundama.

index_to_soup(url_or_raw, raw=False, as_tree=False, save_raw=None)[изворни код]

Pomoćni metod koji prima URL indeksne stranice i vraća njen objekat BeautifulSoup.

url_or_raw: URL ili sadržaj preuzete indeksne stranice kao niz znakova

Vraća True ako link treba pratiti, odnosno False ako ne treba. Podrazumevano izaziva NotImplementedError, zbog čega ga program za preuzimanje zanemaruje.

Параметри:
  • url -- URL koji treba pratiti

  • tag -- Oznaka iz koje je dobijen URL

parse_feeds()[изворни код]

Pravi spisak članaka na osnovu dovoda koje vraća BasicNewsRecipe.get_feeds(). Vraća spisak objekata Feed.

parse_index()[изворни код]

Ovaj metod treba implementirati u receptima koji spisak članaka prave analizom sajta, a ne dovoda. Tipičan primer su izvori vesti sa stranicom „Print Edition” koja navodi sve članke iz tekućeg štampanog izdanja. Ako je metod implementiran, koristi se umesto BasicNewsRecipe.parse_feeds().

Mora da vrati spisak. Svaki element spiska mora biti par oblika ('feed title', list of articles).

Svaki spisak članaka mora sadržati rečnike sledećeg oblika:

{
'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.
}

Primer potražite u receptu za preuzimanje časopisa The Atlantic. Pored toga možete dodati 'author' za autora članka.

Ako iz nekog razloga želite da prekinete obradu i da calibre prikaže kratku poruku umesto greške, pozovite abort_recipe_processing().

populate_article_metadata(article, soup, first)[изворни код]

Poziva se kada se preuzme svaka HTML stranica koja pripada članku. Namenjen je izdvajanju metapodataka članka, poput autora i sažetka, iz obrađenog HTML-a (soup).

Параметри:
  • article -- Objekat klase calibre.web.feeds.Article. Ako promenite sažetak, ne zaboravite da promenite i text_summary.

  • soup -- Obrađeni HTML koji pripada ovom članku

  • first -- True samo ako je obrađeni HTML prva stranica članka.

postprocess_book(oeb, opts, log)[изворни код]

Obavite svu potrebnu naknadnu obradu preuzete e-knjige.

Параметри:
  • oeb -- Objekat OEBBook

  • opts -- Opcije pretvaranja

postprocess_html(soup, first_fetch)[изворни код]

Ovaj metod se poziva nad izvornim sadržajem svakog preuzetog HTML fajla pošto se u njemu obrade linkovi i slike. Može se koristiti za opsežnu naknadnu obradu HTML sadržaja. Posle obrade treba da vrati soup.

Параметри:
  • soup -- Instanca BeautifulSoup koja sadrži preuzeti HTML.

  • first_fetch -- True ako je ovo prva stranica članka.

preprocess_html(soup)[изворни код]

Ovaj metod se poziva nad izvornim sadržajem svakog preuzetog HTML fajla pre obrade linkova i slika. Poziva se nakon čišćenja određenog pomoću remove_tags i sličnih svojstava. Može se koristiti za opsežnu prethodnu obradu HTML sadržaja. Posle obrade treba da vrati soup.

soup: instanca BeautifulSoup koja sadrži preuzeti HTML.

preprocess_image(img_data, image_url)[изворни код]

Obradite preuzete podatke slike. Metod se poziva nad izvornim podacima pre promene veličine. Mora da vrati obrađene izvorne podatke. Vratite None da preskočite sliku.

preprocess_raw_html(raw_html, url)[изворни код]

Ovaj metod se poziva nad izvornim sadržajem svakog preuzetog HTML fajla pre nego što se on pretvori u stablo objekata. raw_html je Unicode niz koji predstavlja izvorni HTML preuzet s veba. url je adresa s koje je HTML preuzet.

Imajte na umu da se ovaj metod izvršava pre preprocess_regexps.

Ovaj metod mora da vrati obrađeni raw_html kao Unicode objekat.

publication_date()[изворни код]

Ovim metodom postavite datum objavljivanja izdanja. Podrazumevana vrednost je trenutak preuzimanja. Metod mora da vrati objekat datetime.datetime.

skip_ad_pages(soup)[изворни код]

Ovaj metod se poziva nad izvornim sadržajem svakog preuzetog HTML fajla pre primene svojstava za čišćenje, poput remove_tags i keep_only_tags. preprocess_regexps je do tada već primenjen. Metod omogućava receptu da preskoči stranice s reklamama. Ako soup predstavlja stranicu s reklamom, vratite HTML stvarne stranice. U suprotnom vratite None.

soup: instanca BeautifulSoup koja sadrži preuzeti HTML.

sort_index_by(index, weights)[изворни код]

Pomoćni metod za sortiranje naslova u index prema weights. Spisak index se menja na licu mesta. Vraća index.

index: spisak naslova.

weights: rečnik koji naslovima dodeljuje težine. Za naslove iz index kojih nema u weights podrazumeva se težina 0.

warmup_excluded_domains()[изворни код]

Domeni koje pregledač 'camoufox' mora da izbegava dok se priprema za rad, kako bi ga sajt s kojeg se preuzima sadržaj prvi put video tek tokom samog preuzimanja. Podrazumevano su to domeni svih unapred navedenih dovoda.

articles_are_obfuscated = False

Postavite na True i implementirajte get_obfuscated_article() za sajtove koji otežavaju izdvajanje sadržaja.

auto_cleanup = False

Automatski izdvojte sav tekst sa preuzetih stranica članaka. Koriste se algoritmi projekta readability. Ako ovo postavite na True, ne morate ručno da čistite preuzeti HTML, mada će ručno čišćenje uvek dati bolji rezultat.

auto_cleanup_keep = None

Navedite elemente koje algoritam za automatsko čišćenje nikada ne sme da ukloni. Koristi se XPath izraz. Na primer:

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'

Mehanizam simuliranog pregledača za preuzimanje sa servera. Podrazumevano se koristi Pythonov pregledač mechanize, koji podržava prijavljivanje. Ako prijavljivanje nije potrebno, razmotrite 'webengine', koji koristi pravi pregledač Chromium za mrežne zahteve, ili 'qt', koji koristi Qt mrežni podsistem. I 'webengine' i 'qt' podržavaju HTTP/2, za razliku od mechanize, pa ih servisi za zaštitu od botova teže prepoznaju.

Ako sajt odoleva svim tim mehanizmima, koristite 'camoufox'. On preuzima i upravlja pravim pregledačem zasnovanim na Firefoxu, napravljenim da prikrije automatizaciju. Ubedljivo je najzahtevniji od četiri mehanizma: pri prvoj upotrebi preuzima pregledač, priprema ga posećivanjem nekoliko uobičajenih sajtova pre obrade vaših dovoda i zaista otvara svaki članak i izvršava njegove skripte, umesto da ga samo zatraži. Zauzvrat, članci se preuzimaju upravo onako kako bi ih preuzeo čovek koji pregleda sajt, a slike se dobijaju iz pregledača bez ponovnog preuzimanja. Imajte na umu da zanemaruje korisnički agent koji zadate, jer koristi onaj koji odgovara ostalim podacima kojima se predstavlja.

center_navbar = True

Ako je True, navigaciona traka je centrirana; inače je poravnata ulevo.

compress_news_images = False

Postavite na False da zanemarite sve parametre promene veličine i kompresije i ostavite slike neizmenjene. Ako je True, a ostali parametri kompresije imaju podrazumevane vrednosti, slike će biti prilagođene dimenzijama ekrana iz izlaznog profila i komprimovane na najviše (w * h)/16, gde su w i h dimenzije slike posle promene veličine.

compress_news_images_auto_size = 16

Faktor automatske kompresije JPEG slika. Ako je None, automatska kompresija je isključena. U suprotnom, smanjivanjem kvaliteta nastoji se da veličina slike ne pređe (w * h)/compress_news_images_auto_size bajtova, gde su w i h dimenzije slike u pikselima. Najniži JPEG kvalitet je 5/100, pa ovaj uslov možda neće moći da se ispuni. Parametar compress_news_images_max_size može da nadjača ovo podešavanje i zada fiksnu najveću veličinu slike. Ako uključite scale_news_images_to_device, slici će se najpre promeniti veličina, a zatim će se smanjivati kvalitet dok njena veličina ne padne ispod (w * h)/factor, pri čemu su w i h sada dimenzije nakon promene veličine. Drugim rečima, kompresija se obavlja posle promene veličine.

compress_news_images_max_size = None

Podesite JPEG kvalitet tako da slike ne premaše zadatu veličinu (u KB). Ako je postavljen, ovaj parametar ima prednost nad automatskom kompresijom pomoću compress_news_images_auto_size. Najniži JPEG kvalitet je 5/100, pa zadato ograničenje možda neće moći da se ispuni.

conversion_options = {}

Opcije pretvaranja preuzetog sadržaja u e-knjigu specifične za ovaj recept. Imaju prednost nad vrednostima koje zadaju korisnik ili dodatak, pa ih koristite samo ako su zaista neophodne. Na primer:

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

Podrazumevano se slika koju vrati get_cover_url() koristi kao korica periodičnog izdanja. Ako ovo svojstvo definišete u receptu, calibre će preuzetu koricu smestiti u okvir čija se širina i visina izražavaju u procentima dimenzija preuzete korice. cover_margins = (10, 15, '#ffffff') dodaje belu marginu od 10 px levo i desno i 15 px gore i dole. Nazivi boja su navedeni ovde. Iz nekog razloga, u Windowsu bela boja ne radi uvek. Umesto njenog naziva koristite #ffffff.

delay: float | int = 0

Podrazumevani razmak između uzastopnih preuzimanja, u sekundama. Argument može biti decimalni broj radi preciznijeg zadavanja vremena. Za razmake po URL-u pogledajte get_url_specific_delay().

description = ''

Nekoliko redova koji opisuju sadržaj koji ovaj recept preuzima. Prvenstveno se koriste u grafičkom interfejsu koji prikazuje spisak recepata.

encoding = None

Zadajte kodiranje za sajtove koji pogrešno navode skup znakova. Čest primer je sajt koji navodi latin1, a koristi cp1252. Ako je vrednost None, pokušava se otkrivanje kodiranja. Ako je vrednost funkcija, ona se poziva s dva argumenta: objektom recepta i izvornim sadržajem koji treba dekodirati. Mora da vrati dekodirani sadržaj.

extra_css = None

Navedite dodatni CSS koji treba dodati preuzetim HTML fajlovima. Umeće se u oznake <style> neposredno ispred završne oznake </head> i time ima prednost nad svim CSS pravilima osim onih zadatih atributom style u pojedinačnim HTML oznakama. Ako dodatni CSS želite da pravite programski, umesto ovog svojstva definišite metod get_extra_css(). Na primer:

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

Spisak dovoda za preuzimanje. Može imati oblik [url1, url2, ...] ili [('title1', url1), ('title2', url2),...].

filter_regexps = []

Spisak regularnih izraza koji određuju koje linkove treba zanemariti. Ako je prazan, ne primenjuje se. Koristi se samo ako metod is_link_wanted nije implementiran. Na primer:

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

ukloniće sve URL-ove koji sadrže ads.doubleclick.net.

Treba definisati samo jedno od svojstava BasicNewsRecipe.match_regexps i BasicNewsRecipe.filter_regexps.

handle_gzip = True

Postavite na False ako ne želite prenos komprimovan gzipom u pregledaču mechanize. Neki stariji serveri ne rade pouzdano sa gzipom.

ignore_duplicate_articles = None

Zanemarite duplikate članaka koji se pojavljuju u više odeljaka. Duplikat je članak sa istim naslovom i/ili URL-om. Da biste zanemarili članke s istim naslovom, postavite ovo na:

ignore_duplicate_articles = {'title'}

Da biste umesto toga koristili URL-ove, postavite na:

ignore_duplicate_articles = {'url'}

Da biste upoređivali naslov ili URL, postavite na:

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

Zadržite samo navedene oznake i njihove potomke. Format zadavanja oznake opisan je u BasicNewsRecipe.remove_tags. Ako ovaj spisak nije prazan, sadržaj oznake <body> biće uklonjen, pa će se u nju vratiti oznake koje odgovaraju stavkama sa spiska. Na primer:

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

zadržaće samo oznake čiji atribut id ima vrednost "content" ili "heading".

language = 'und'

Jezik vesti. Mora biti dvoslovni ili troslovni kod ISO-639.

masthead_url = None

Podrazumevano calibre koristi podrazumevanu sliku za zaglavlje izdanja (samo Kindle). Definišite ovo svojstvo u receptu da biste zadali URL slike za zaglavlje.

match_regexps = []

Spisak regularnih izraza koji određuju koje linkove treba pratiti. Ako je prazan, ne primenjuje se. Koristi se samo ako metod is_link_wanted nije implementiran. Na primer:

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

obuhvatiće sve URL-ove koji sadrže page=some number.

Treba definisati samo jedno od svojstava BasicNewsRecipe.match_regexps i BasicNewsRecipe.filter_regexps.

max_articles_per_feed: int = 100

Najveći broj članaka koji se preuzimaju iz svakog dovoda. Ovo je naročito korisno za dovode koji ne sadrže datume članaka. Za većinu dovoda koristite BasicNewsRecipe.oldest_article.

needs_subscription = False

Ako je True, grafički interfejs će od korisnika tražiti korisničko ime i lozinku za preuzimanje. Ako je vrednost "optional", njihovo unošenje nije obavezno.

no_stylesheets = False

Praktična opcija kojom se isključuje učitavanje stilskih listova sajtova čiji su stilovi previše složeni za pretvaranje u formate e-knjiga. Ako je True, stilski listovi se ne preuzimaju niti obrađuju.

oldest_article: float | int = 7.0

Najstariji članak koji treba preuzeti iz ovog izvora vesti, izraženo u danima.

preprocess_regexps = []

Spisak pravila zamene zasnovanih na regexp koja se primenjuju na preuzeti HTML. Svaka stavka spiska treba da bude par elemenata: prvi je kompajlirani regularni izraz, a drugi funkcija koja prima jedan objekat podudaranja i vraća tekst kojim se podudaranje zamenjuje. Na primer:

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

ukloniće sve od <!--Article ends here--> do </body>.

publication_type = 'unknown'

Vrsta publikacije. Postavite na newspaper, magazine ili blog. Ako je None, metapodatak o vrsti publikacije neće biti upisan u OPF fajl.

recipe_disabled = None

Postavite neprazan tekst da biste onemogućili ovaj recept. Taj tekst će biti prikazan kao objašnjenje zašto je recept onemogućen.

recipe_specific_options = None

Zadajte opcije specifične za ovaj recept. Korisnik može da ih prilagodi na kartici Napredno u dijalogu za preuzimanje vesti ili u komandnoj liniji programa ebook-convert. Opcije se zadaju kao rečnik koji povezuje naziv opcije s njenim metapodacima. Na primer:

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',
    }
}

Kada se recept pokrene, self.recipe_specific_options biće rečnik koji povezuje nazive opcija s vrednostima koje je korisnik zadao. Ako korisnik ne zada neku opciju, ona će imati vrednost navedenu pod 'default'. Ako podrazumevana vrednost nije navedena, nezadata opcija neće ni postojati u rečniku.

recursions: int = 0

Broj nivoa linkova koje treba pratiti na veb-stranicama članaka.

remove_attributes = []

Spisak atributa koje treba ukloniti iz svih oznaka. Na primer:

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

Ako je True, prazni dovodi se uklanjaju iz rezultata. Ova opcija nema dejstvo ako je u potklasi definisan metod parse_index. Namenjena je samo receptima koji vraćaju spisak dovoda pomoću feeds ili get_feeds(). Koristi se i ako je uključena opcija ignore_duplicate_articles.

remove_javascript = True

Praktična opcija za uklanjanje svih JavaScript oznaka iz preuzetog HTML-a.

remove_tags = []

Spisak oznaka koje treba ukloniti iz preuzetog HTML-a. Svaka oznaka se zadaje rečnikom sledećeg oblika:

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

Svi ključevi su neobavezni. Potpuno objašnjenje kriterijuma pretrage potražite u dokumentaciji za Beautiful Soup. Uobičajen primer:

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

Ovo uklanja sve oznake <div class="advert"> i njihove potomke iz preuzetog HTML sadržaja.

remove_tags_after = None

Uklonite sve oznake koje se pojavljuju posle navedene oznake. Format zadavanja oznake opisan je u BasicNewsRecipe.remove_tags. Na primer:

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

ukloniće sve oznake posle prvog elementa sa id="content".

remove_tags_before = None

Uklonite sve oznake koje se pojavljuju pre navedene oznake. Format zadavanja oznake opisan je u BasicNewsRecipe.remove_tags. Na primer:

remove_tags_before = dict(id='content')

ukloniće sve oznake pre prvog elementa sa id="content".

requires_version = (0, 6, 0)

Najstarija verzija programa calibre s kojom ovaj recept može da se koristi.

Ako je True, linkovi u preuzetim člancima koji vode ka drugim preuzetim člancima usmeravaju se na preuzete kopije umesto na njihove izvorne veb-adrese. Ako ovo uključite, možda ćete morati da implementirate i canonicalize_internal_url() prema načinu na koji vaš sajt oblikuje URL-ove.

reverse_article_order = False

Obrnite redosled članaka u svakom dovodu.

scale_news_images = None

Najveće dimenzije (w,h) na koje se slike prilagođavaju. Ako je scale_news_images_to_device True, koriste se dimenzije ekrana uređaja iz izlaznog profila. Ako profil nije postavljen, ostaje prethodno dodeljena vrednost (podrazumevano None).

scale_news_images_to_device = True

Prilagodite veličinu slika dimenzijama ekrana uređaja iz izlaznog profila. Zanemaruje se ako izlazni profil nije postavljen.

simultaneous_downloads: int = 5

Broj istovremenih preuzimanja. Postavite na 1 ako je server osetljiv na više zahteva. Automatski se smanjuje na 1 ako je BasicNewsRecipe.delay > 0.

summary_length = 500

Najveći broj znakova u kratkom opisu.

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    '

CSS kojim se oblikuju šabloni, odnosno navigacione trake i sadržaji. Umesto da menjate ovu promenljivu, koristite extra_css u svom receptu da prilagodite izgled.

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

Format datuma prikazanog na prvoj stranici. Podrazumevano: Dan_u_nedelji, Dan_u_mesecu Mesec Godina.

timeout = 120.0

Vremensko ograničenje za preuzimanje fajlova sa servera, u sekundama.

title = 'Nepoznat izvor vesti'

Naslov e-knjige.

use_embedded_content = None

Obično na osnovu dužine ugrađenog sadržaja pokušavamo da utvrdimo da li dovod sadrži cele članke. Ako je vrednost None, koristi se podrazumevana procena. Ako je True, uvek se pretpostavlja da dovod sadrži ugrađen sadržaj, a ako je False, da ga ne sadrži.