API dokumentacija za alate za uređivanje e-knjiga

Alati za uređivanje e-knjiga sastoje se od calibre.ebooks.oeb.polish.container.Container objekta koji predstavlja knjigu kao kolekciju HTML + resursnih datoteka, i raznih alata koji se mogu koristiti za izvođenje operacija na kontejneru. Svi alati su u obliku funkcija na nivou modula u raznim calibre.ebooks.oeb.polish.* modulima.

Objekat kontejnera za knjigu na određenoj putanji dobijate ovako:

from calibre.ebooks.oeb.polish.container import get_container
container = get_container('Path to book file', tweak_mode=True)

Ako pišete dodatak za uređivač e-knjiga, trenutni kontejner za knjigu koja se uređuje dobijate ovako:

from calibre.gui2.tweak_book import current_container
container = current_container()
if container is None:
    report_error # No book has been opened yet

Container objekat

class calibre.ebooks.oeb.polish.container.Container(rootpath=None, opfpath=None, log=<calibre.utils.logging.Log object>, clone_data=None)[изворни код]

Kontejner predstavlja otvorenu e-knjigu kao fasciklu punu datoteka i OPF datoteku. Postoje dva važna koncepta:

  • Korenska fascikla. Ovo je osnova e-knjige. Sve datoteke e-knjige su unutar ove fascikle ili u njenim podfasciklama.

  • Imena: to su putanje do fajlova knjige u odnosu na korensku fasciklu. Uvek koriste POSIX separatore i nisu URL-kodirana. Mogu se posmatrati kao kanonski identifikatori fajlova u knjizi. Većina metoda objekta kontejnera koristi imena. Imena su uvek u normalizovanom Unicode obliku NFC.

  • Klonovi: kontejner objekat podržava efikasno kloniranje na disku, koje se koristi za implementaciju kontrolnih tačaka u uređivaču e-knjiga. Da bi ovo radilo, nikada ne bi trebalo da pristupate datotekama na sistemu datoteka direktno. Umesto toga, koristite raw_data() ili open() za čitanje/pisanje komponentnih datoteka u knjizi.

Pri pretvaranju između href vrednosti i imena koristite metode ove klase. One pretpostavljaju da su sve href vrednosti URL-kodirane.

abspath_to_name(fullpath, root=None)[изворни код]

Pretvorite apsolutnu putanju u kanonsko ime relativno u odnosu na root

Параметри:

root -- Osnovna fascikla. Podrazumevano se koristi koren za ovaj kontejner objekat.

add_file(name, data=b'', media_type=None, spine_index=None, modify_name_if_needed=False, process_manifest_item=None, suggested_id='')[изворни код]

Dodajte fajl u ovaj kontejner. Unosi za fajl se automatski kreiraju u OPF manifestu i spine-u (ako je fajl tekstualni dokument)

add_name_to_manifest(name, process_manifest_item=None, suggested_id='')[изворни код]

Dodajte unos u manifest za fajl sa navedenim imenom. Vraća ID manifesta.

add_properties(name, *properties)[изворни код]

Dodajte navedena svojstva stavci manifesta identifikovanoj imenom.

apply_unique_properties(name, *properties)[изворни код]

Obezbedite da su navedena svojstva postavljena samo na stavci manifesta identifikovanoj imenom. Možete proslediti None kao ime da biste uklonili svojstvo sa svih stavki.

book_type = 'oeb'

Tip knjige (epub za EPUB fajlove i azw3 za AZW3 fajlove)

commit(outpath=None, keep_parsed=False)[изворни код]

Upišite sve izmenjene parsirane objekte u fajl sistem i sačuvaj e-knjigu na outpath.

Параметри:
  • output -- Putanja na koju se čuva fajl e-knjige. Ako je None, koristi se putanja originalnog fajla knjige.

  • keep_parsed -- Ako je True, parsirane reprezentacije sačuvanih stavki se zadržavaju u kešu.

commit_item(name, keep_parsed=False)[изворни код]

Upišite parsirani objekat na disk (serijalizuje se i upisuje u osnovni fajl). Ako je keep_parsed True, parsirana reprezentacija se zadržava u kešu. Pogledajte takođe: parsed()

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

Označite parsirani objekat koji odgovara imenu kao izmenjen (dirty). Pogledajte takođe: parsed().

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

True ako i samo ako fajl/folder koji odgovara kanonskom imenu postoji. Imajte na umu da ova funkcija pati od ograničenja osnovnog OS fajl sistema, posebno (ne)osetljivosti na velika i mala slova. Tako će na fajl sistemu neosetljivom na velika i mala slova ovo vratiti True čak i ako se veličina slova imena razlikuje od veličine slova osnovnog fajla u fajl sistemu. Pogledajte takođe has_name()

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

Vratite veličinu u bajtovima fajla predstavljenog navedenim kanonskim imenom. Automatski rukuje izmenjenim parsiranim objektima. Pogledajte takođe: parsed()

generate_item(name, id_prefix=None, media_type=None, unique_href=True)[изворни код]

Dodajte stavku u manifest sa href izvedenim iz datog imena. Automatski osigurava jedinstvenost href i id. Vraća generisanu stavku.

get_file_path_for_processing(name, allow_modification=True)[изворни код]

Slično kao open() osim što vraća putanju datoteke, umesto otvorenog objekta datoteke.

property guide_type_map

Mapiranje tipa vodiča u kanonsko ime

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

Vraća True ako i samo ako postoji datoteka sa istim kanonskim imenom kao što je navedeno. Za razliku od exists() ova metoda je uvek osetljiva na velika i mala slova.

href_to_name(href, base=None)[изворни код]

Pretvorite href (relativno u odnosu na base) u ime. base mora biti ime ili None, u kom slučaju se koristi self.root.

insert_into_xml(parent, item, index=None)[изворни код]

Umetnite stavku u roditelja (ili dodaj na kraj ako je index None), popravljajući uvlačenje. Radi samo sa samozatvarajućim stavkama.

is_dir = False

Ako ovaj kontejner predstavlja otpakovanu knjigu (direktorijum)

Iteriraj preko svih veza u name. Ako je get_line_numbers True, daje rezultate u obliku (link, line_number, offset). Gde je line_number broj linije na kojoj se veza pojavljuje, a offset je broj znakova od početka linije. Imajte na umu da offset zapravo može obuhvatiti nekoliko linija ako nije nula.

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

Obezbedite da name već ne postoji u ovoj knjizi. Ako postoji, vrati izmenjenu verziju koja ne postoji.

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

Vraća True ako manifest ima unos koji odgovara imenu

property manifest_id_map

Mapiranje id-a manifesta u kanonska imena

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

Imena svih stavki manifesta čiji se media-type podudara sa predicate. predicate može biti skup, lista, string ili funkcija koja uzima jedan argument, koja će biti pozvana sa media-type.

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

Sve stavke manifesta koje imaju navedeno svojstvo

property manifest_type_map

Mapiranje media-type manifesta u listu kanonskih imena tog media-type

property mi

Metapodaci ove knjige kao Metadata objekat. Imajte na umu da se ovaj objekat konstruiše u hodu svaki put kada se ovo svojstvo zatraži, pa ga koristite štedljivo.

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

Pretvorite kanonsko ime u apsolutnu putanju zavisnu od OS-a

name_to_href(name, base=None)[изворни код]

Pretvorite ime u href relativan u odnosu na base, koji mora biti ime ili None u kom slučaju se self.root koristi kao osnova

property names_that_must_not_be_changed

Skup imena koja se nikada ne smeju preimenovati. Zavisi od formata e-knjige.

property names_that_must_not_be_removed

Skup imena koja se nikada ne smeju obrisati iz kontejnera. Zavisi od formata e-knjige.

property names_that_need_not_be_manifested

Skup imena kojima je dozvoljeno da nedostaju u manifestu. Zavisi od formata e-knjige.

open(name, mode='rb')[изворни код]

Otvorite fajl na koji pokazuje name za direktno čitanje/pisanje. Imajte na umu da će ovo sačuvati fajl ako je izmenjen i ukloniti ga iz keša za parsiranje. Morate završiti sa ovim fajlom pre nego što ponovo pristupite njegovoj parsiranoj verziji, inače će se desiti loše stvari.

property opf

Parsirani OPF fajl

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

Pomoćni metod koji vraća prvi XML element s navedenim imenom ili ga, ako ne postoji, pravi ispod elementa opf:package pa ga vraća.

property opf_version

Verzija postavljena na <package> elementu OPF-a

property opf_version_parsed

Verzija postavljena na <package> elementu OPF-a kao torka celih brojeva

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

Pogodna metoda za evaluaciju XPath izraza na OPF fajlu, ima unapred definisane opf: i dc: prefikse imenskog prostora.

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

Vraća parsiranu reprezentaciju fajla navedenog po imenu. Za HTML i XML fajlove vraća se lxml stablo. Za CSS fajlove vraća se css_parser stylesheet. Imajte na umu da se parsirani objekti keširaju radi performansi. Ako napravite bilo kakve izmene na parsiranom objektu, morate pozvati dirty() kako bi kontejner znao da ažurira keš. Pogledajte takođe replace().

raw_data(name, decode=True, normalize_to_nfc=True)[изворни код]

Vraća sirove podatke koji odgovaraju fajlu navedenom po imenu

Параметри:
  • decode -- Ako je True i fajl ima tekstualni MIME tip, dekodira ga i vraća unicode objekat umesto sirovih bajtova.

  • normalize_to_nfc -- Ako je True, vraćeni unicode objekat se normalizuje u NFC normalnu formu kao što je potrebno za EPUB i AZW3 formate fajlova.

relpath(path, base=None)[изворни код]

Konvertuje apsolutnu putanju (sa OS separatorima) u putanju relativnu u odnosu na base (podrazumevano self.root). Relativna putanja nije ime. Koristite abspath_to_name() za to.

remove_from_spine(spine_items, remove_if_no_longer_in_spine=True)[изворни код]

Uklanja navedene stavke (po kanonskom imenu) iz spine-a. Ako je remove_if_no_longer_in_spine True, stavke se takođe brišu iz knjige, a ne samo iz spine-a.

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

Uklanja stavku iz roditelja, popravljajući uvlačenje (radi samo sa samozatvarajućim stavkama)

remove_item(name, remove_from_guide=True)[изворни код]

Uklanja stavku identifikovanu imenom iz ovog kontejnera. Ovo uklanja sve reference na stavku u OPF manifestu, guide-u i spine-u, kao i iz svih internih keševa.

rename(current_name, new_name)[изворни код]

Preimenuje fajl iz current_name u new_name. Automatski re-bazira sve linkove unutar fajla ako se promeni folder u kojem se fajl nalazi. Imajte na umu, međutim, da se linkovi ne ažuriraju u drugim fajlovima koji bi mogli referencirati ovaj fajl. Ovo je zbog performansi, takva ažuriranja bi trebalo raditi jednom, grupno.

replace(name, obj)[изворни код]

Zamenjuje parsirani objekat koji odgovara imenu sa obj, koji mora biti sličan objekat, tj. lxml stablo za HTML/XML ili css_parser stylesheet za CSS fajl.

Zamenite sve linkove u name pomoću replace_func. To mora biti funkcija koja prima URL i vraća zamenski URL. Mora imati i atribut 'replaced', postavljen na True ako je neka zamena zaista izvršena. Takvu funkciju možete napraviti pomoću klasa LinkReplacer i LinkRebaser.

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

Konvertujte parsirani objekat (identifikovan kanonskim imenom) u bytestring. Pogledajte parsed().

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

Postavite spine da bude spine_items gde je spine_items iterabilan u obliku (name, linear). Izbaciće grešku ako jedno od imena nije prisutno u manifestu.

property spine_items

Iterator koji daje putanju za svaku stavku u spine knjige. Pogledajte takođe: spine_iter i spine_items.

property spine_iter

Iterator koji daje item, name is_linear za svaku stavku u spine knjige. item je lxml element, name je kanonsko ime datoteke, a is_linear je True ako je stavka linearna. Pogledajte takođe: spine_names i spine_items.

property spine_names

Iterator koji daje name i is_linear za svaku stavku u spine knjige. Pogledajte takođe: spine_iter i spine_items.

Upravljanje datotekama komponenti u kontejneru

Zamenite veze ka datotekama u kontejneru. Iteriraće kroz sve datoteke u kontejneru i promeniti navedene veze u njima.

Параметри:
  • link_map -- Mapiranje starog kanonskog imena u novo kanonsko ime. Na primer: {'images/old.png': 'images/new.png'}

  • frag_map -- Funkcija koja prima dva argumenta, (name, anchor), i vraća novo sidro. Korisna je kada treba promeniti sidra u HTML fajlovima. Podrazumevano se ništa ne menja.

  • replace_in_opf -- Ako je False, veze se ne menjaju u OPF datoteci.

calibre.ebooks.oeb.polish.replace.rename_files(container, file_map)[изворни код]

Preimenujte datoteke u kontejneru, automatski ažurirajući sve veze ka njima.

Параметри:

file_map -- Mapiranje starog kanonskog imena u novo kanonsko ime, na primer: {'text/chapter1.html': 'chapter1.html'}.

Vraća fascikle koje su preporučene za data imena datoteka. Preporuka se zasniva na tome gde se nalazi većina datoteka istog tipa u kontejneru. Ako nema datoteka određenog tipa, pretpostavlja se da je preporučena fascikla ona koja sadrži OPF datoteku.

Ulepšavanje koda i automatsko popravljanje grešaka pri parsiranju

calibre.ebooks.oeb.polish.pretty.fix_html(container, raw)[изворни код]

Popravlja sve greške pri parsiranju u HTML-u predstavljenom kao string u raw. Popravljanje se vrši pomoću HTML5 algoritma za parsiranje.

calibre.ebooks.oeb.polish.pretty.fix_all_html(container)[изворни код]

Popravlja sve greške pri parsiranju u svim HTML datotekama u kontejneru. Popravljanje se vrši pomoću HTML5 algoritma za parsiranje.

calibre.ebooks.oeb.polish.pretty.pretty_html(container, name, raw)[изворни код]

Ulepšava HTML predstavljen kao string u raw

calibre.ebooks.oeb.polish.pretty.pretty_css(container, name, raw)[изворни код]

Ulepšava CSS predstavljen kao string u raw

calibre.ebooks.oeb.polish.pretty.pretty_xml(container, name, raw)[изворни код]

Ulepšava XML predstavljen kao string u raw. Ako je name ime OPF-a, vrši se dodatno ulepšavanje specifično za OPF.

calibre.ebooks.oeb.polish.pretty.pretty_all(container)[изворни код]

Ulepšava sve HTML/CSS/XML datoteke u kontejneru

Upravljanje informativnim stranicama o knjizi

calibre.ebooks.oeb.polish.jacket.remove_jacket(container)[изворни код]

Uklanja postojeću informativnu stranicu o knjizi, ako postoji. Vraća False ako nije pronađena.

calibre.ebooks.oeb.polish.jacket.add_or_replace_jacket(container)[изворни код]

Pravi novu informativnu stranicu na osnovu metapodataka knjige ili zamenjuje postojeću. Vraća True ako je postojeća stranica zamenjena.

Deljenje i spajanje fajlova

calibre.ebooks.oeb.polish.split.split(container, name, loc_or_xpath, before=True, totals=None)[изворни код]

Deli fajl naveden po imenu na poziciji navedenoj sa loc_or_xpath. Deljenje automatski migrira sve linkove i reference na pogođene fajlove.

Параметри:
  • loc_or_xpath -- Treba da bude XPath izraz kao što je //h:div[@id="split_here"]. Može takođe biti loc koji se koristi interno za implementaciju deljenja u panelu za pregled.

  • before -- Ako je True, deljenje se dešava pre identifikovanog elementa, inače posle njega.

  • totals -- Koristi se interno

calibre.ebooks.oeb.polish.split.multisplit(container, name, xpath, before=True)[изворни код]

Deli navedeni fajl na više lokacija (svi tagovi koji se podudaraju sa navedenim XPath izrazom). Pogledajte takođe: split(). Deljenje automatski migrira sve linkove i reference na pogođene fajlove.

Параметри:

before -- Ako je True, deljenja se dešavaju pre identifikovanog elementa, inače posle njega.

calibre.ebooks.oeb.polish.split.merge(container, category, names, master)[изворни код]

Spaja navedene fajlove u jedan fajl, automatski migrirajući sve linkove i reference na pogođene fajlove. Svi fajlovi moraju biti ili HTML ili CSS fajlovi.

Параметри:
  • category -- Mora biti ili 'text' za HTML fajlove ili 'styles' za CSS fajlove

  • names -- Lista fajlova za spajanje

  • master -- Koji od spojenih fajlova je master fajl, to jest, fajl koji će ostati nakon spajanja.

Upravljanje koricama

calibre.ebooks.oeb.polish.cover.set_cover(container, cover_path, report=None, options=None)[изворни код]

Postavite korice knjige na sliku na koju ukazuje cover_path.

Параметри:
  • cover_path -- Ili apsolutna putanja do datoteke slike ili kanonsko ime slike u knjizi. Kada koristite sliku u knjizi, morate takođe postaviti opcije, pogledajte ispod.

  • report -- Opcioni poziv koji uzima jedan argument. Biće pozvan sa informacijama o zadacima koji se obrađuju.

  • options -- None ili rečnik koji kontroliše kako se postavljaju korice. Rečnik može imati unose: keep_aspect: True ili False (Očuvaj razmeru korica u EPUB-u) no_svg: True ili False (Koristi SVG omotač korica na naslovnoj strani EPUB-a) existing: True ili False (cover_path se odnosi na postojeću sliku u knjizi)

calibre.ebooks.oeb.polish.cover.mark_as_cover(container, name)[изворни код]

Označite navedenu sliku kao sliku korica.

calibre.ebooks.oeb.polish.cover.mark_as_titlepage(container, name, move_to_start=True)[изворни код]

Označite navedenu HTML datoteku kao naslovnu stranu EPUB-a.

Параметри:

move_to_start -- Ako je True, HTML fajl se premešta na početak redosleda čitanja (spine).

Rad sa CSS-om

calibre.ebooks.oeb.polish.fonts.change_font(container, old_name, new_name=None)[изворни код]

Promenite porodicu fontova sa old_name na new_name. Menja sva pojavljivanja porodice fontova u stilovima, oznakama stila i atributima stila. Ako se old_name odnosi na ugrađeni font, on se uklanja. Možete postaviti new_name na None da biste uklonili porodicu fontova umesto da je promenite.

calibre.ebooks.oeb.polish.css.remove_unused_css(container, report=None, remove_unused_classes=False, merge_rules=False, merge_rules_with_identical_properties=False, remove_unreferenced_sheets=False)[изворни код]

Uklonite sva nekorišćena CSS pravila iz knjige. Nekorišćeno CSS pravilo je ono koje se ne podudara ni sa jednim stvarnim sadržajem.

Параметри:
  • report -- Opcioni poziv koji uzima jedan argument. Poziva se sa informacijama o operacijama koje se izvode.

  • remove_unused_classes -- Ako je True, atributi klase u HTML-u koji se ne podudaraju ni sa jednim CSS pravilom se takođe uklanjaju.

  • merge_rules -- Ako je True, pravila sa identičnim selektorima se spajaju.

  • merge_rules_with_identical_properties -- Ako je True, pravila sa identičnim svojstvima se spajaju.

  • remove_unreferenced_sheets -- Ako je True, stilovi koji nisu referencirani ni u jednom sadržaju se uklanjaju.

calibre.ebooks.oeb.polish.css.filter_css(container, properties, names=())[изворни код]

Uklonite navedena CSS svojstva iz svih CSS pravila u knjizi.

Параметри:
  • properties -- Skup svojstava za uklanjanje. Na primer: {'font-family', 'color'}.

  • names -- Fajlovi iz kojih se uklanjaju svojstva. Podrazumevano su svi HTML i CSS fajlovi u knjizi.

Rad sa sadržajem (Table of Contents)

calibre.ebooks.oeb.polish.toc.from_xpaths(container, xpaths, prefer_title=False)[изворни код]

Napravite sadržaj iz liste XPath izraza. Svaki izraz u listi odgovara nivou generisanog sadržaja. Na primer: ['//h:h1', '//h:h2', '//h:h3'] će generisati sadržaj u tri nivoa iz oznaka <h1>, <h2> i <h3>.

Napravite sadržaj iz linkova u knjizi.

calibre.ebooks.oeb.polish.toc.from_files(container)[изворни код]

Napravite sadržaj iz fajlova u knjizi.

calibre.ebooks.oeb.polish.toc.create_inline_toc(container, title=None)[изворни код]

Napravite ugrađeni (HTML) sadržaj iz postojećeg NCX sadržaja.

Параметри:

title -- Naslov za ovaj sadržaj.

Alatka za uređivanje knjiga

class calibre.gui2.tweak_book.plugin.Tool[изворни код]

Bases: object

Osnovna klasa za pojedinačne alate u dodatku za uređivanje knjiga. Korisni članovi uključuju:

Metodi koji moraju da se nadjačaju u potklasama:

name: str | None = None

Postavite ovo na jedinstveno ime, koristiće se kao ključ

allowed_in_toolbar = True

Ako je True, korisnik može izabrati da postavi ovaj alat na traku sa alatkama dodataka

allowed_in_menu = True

Ako je True, korisnik može izabrati da postavi ovaj alat u meni dodataka

toolbar_button_popup_mode = 'delayed'

Režim iskačućeg prozora za meni (ako postoji) dugmeta na traci sa alatkama. Moguće vrednosti su 'delayed', 'instant', 'button'

property boss

calibre.gui2.tweak_book.boss.Boss objekat. Koristi se za kontrolu korisničkog interfejsa.

property gui

Glavni prozor korisničkog interfejsa

property current_container

Vraća trenutni calibre.ebooks.oeb.polish.container.Container objekat koji predstavlja knjigu koja se uređuje.

register_shortcut(qaction, unique_name, default_keys=(), short_text=None, description=None, **extra_data)[изворни код]

Registruje prečicu na tastaturi koja će pokrenuti navedeni qaction. Ova prečica na tastaturi će postati automatski prilagodljiva od strane korisnika u odeljku Prečice na tastaturi u postavkama uređivača.

Параметри:
  • qaction -- QAction objekat, biće pokrenut kada korisnik pritisne konfigurisanu kombinaciju tastera.

  • unique_name -- Jedinstveno ime za ovu prečicu/akciju. Koristiće se interno, ne sme se deliti sa bilo kojim drugim akcijama u ovom dodatku.

  • default_keys -- Lista podrazumevanih prečica na tastaturi. Ako nije navedeno, neće biti postavljene podrazumevane prečice. Ako se prečice navedene ovde sukobljavaju sa ugrađenim prečicama ili prečicama iz korisničke konfiguracije/drugih dodataka, biće ignorisane. U tom slučaju, korisnici će morati ručno da konfigurišu prečice preko Postavki. Na primer: default_keys=('Ctrl+J', 'F9').

  • short_text -- Opcioni kratak opis ove akcije. Ako nije navedeno, koristiće se tekst iz QAction.

  • description -- Opcioni duži opis ove akcije, koristiće se u unosu postavki za ovu prečicu.

create_action(for_toolbar=True)[изворни код]

Kreira QAction koji će biti dodat na traku sa alatkama dodataka ili u meni dodataka u zavisnosti od for_toolbar. Na primer:

def create_action(self, for_toolbar=True):
    ac = QAction(get_icons('myicon.png'), 'Do something')
    if for_toolbar:
        # We want the toolbar button to have a popup menu
        menu = QMenu()
        ac.setMenu(menu)
        menu.addAction('Do something else')
        subaction = menu.addAction('And another')

        # Register a keyboard shortcut for this toolbar action be
        # careful to do this for only one of the toolbar action or
        # the menu action, not both.
        self.register_shortcut(ac, 'some-unique-name', default_keys=('Ctrl+K',))
    return ac

See also

Metod register_shortcut().

Kontrolisanje korisničkog interfejsa uređivača

Korisnički interfejs uređivača e-knjiga kontroliše jedan globalni Boss objekat. On ima mnogo korisnih metoda koje se mogu koristiti u kodu dodatka za obavljanje uobičajenih zadataka.

class calibre.gui2.tweak_book.boss.Boss(parent, notify=None)[изворни код]
add_savepoint(msg)[изворни код]

Napravite tačku za vraćanje sa imenom navedenim kao msg

apply_container_update_to_gui(mark_as_modified=True)[изворни код]

Ažurirajte sve komponente korisničkog interfejsa da odražavaju najnovije podatke u trenutnom kontejneru knjige.

Параметри:

mark_as_modified -- Ako je True, knjiga će biti označena kao izmenjena, tako da će korisnik biti upitan da je sačuva pri izlasku.

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

Zatvorite uređivač koji uređuje fajl naveden sa name

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

Potvrdite sve promene koje je korisnik napravio u fajlovima otvorenim u uređivačima u kontejner. Trebalo bi da pozovete ovaj metod pre izvođenja bilo kakvih akcija na trenutnom kontejneru

property currently_editing

Vratite ime fajla koji se trenutno uređuje ili None ako se nijedan fajl ne uređuje

edit_file(name, syntax=None, use_template=None)[изворни код]

Otvorite fajl naveden po imenu u uređivaču

Параметри:
  • syntax -- Medijski tip fajla, na primer, 'text/html'. Ako nije naveden, pogađa se iz ekstenzije fajla.

  • use_template -- Šablon za inicijalizaciju otvorenog uređivača

open_book(path=None, edit_file=None, clear_notify_data=True, open_folder=False, search_text=None)[изворни код]

Otvorite e-knjigu na path za uređivanje. Prikazaće grešku ako e-knjiga nije u podržanom formatu ili trenutna knjiga ima nesačuvane promene.

Параметри:

edit_file -- Ime fajla unutar novootvorene knjige za početak uređivanja. Može biti i lista imena.

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

Poništi prethodno kreiranje tačke za vraćanje, korisno ako kreirate tačku, a zatim prekinete operaciju bez promena

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

Sačuvajte knjigu. Čuvanje se obavlja u pozadini

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

Označite knjigu kao izmenjenu

show_current_diff(allow_revert=True, to_container=None)[изворни код]

Prikazuje promene u knjizi u odnosu na poslednju kontrolnu tačku.

Параметри:
  • allow_revert -- Ako je True, dijalog za razlike će imati dugme koje omogućava korisniku da poništi sve promene

  • to_container -- Objekat kontejnera s kojim treba uporediti trenutni kontejner. Ako je None, koristi se kontejner sa prethodne kontrolne tačke.

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

Prikažite uređivač koji uređuje fajl naveden sa name

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

Sinhronizujte poziciju panela za pregled sa trenutnom pozicijom kursora u trenutnom uređivaču