E-kitap düzenleme araçları için API belgeleri¶
E-kitap düzenleme araçları, bir kitabı HTML + kaynak dosyalarının bir koleksiyonu olarak temsil eden bir calibre.ebooks.oeb.polish.container.Container
nesnesinden ve üzerinde işlemler gerçekleştirmek için kullanılabilecek çeşitli araçlardan oluşur. konteyner. Tüm araçlar, çeşitli calibre.ebooks.oeb.polish.*
modüllerindeki modül düzeyindeki işlevler biçimindedir.
Bir kitap için sahip olduğunuz bir kapsayıcı nesnenin yolu bunun gibidir:
from calibre.ebooks.oeb.polish.container import get_container
container = get_container('Path to book file', tweak_mode=True)
E-kitap editörü için bir eklenti yazıyorsanız, düzenlenen kitap için geçerli kapsayıcıyı şu şekilde alırsınız:
from calibre.gui2.tweak_book import current_container
container = current_container()
if container is None:
report_error # No book has been opened yet
Kapsayıcı nesne¶
- class calibre.ebooks.oeb.polish.container.Container(rootpath, opfpath, log, clone_data=None)[kaynak]¶
Bir kap, açık bir e-kitabı, dosyalar ve bir OPF dosyasıyla dolu bir klasör olarak temsil eder. İki önemli kavram var:
Kök klasör. Bu e-kitabın temelidir. Tüm e-kitap dosyaları bu klasörün içinde veya alt klasörlerinde bulunur.
Adlar: Bunlar kitapların dosyalarının kök klasöre göre yollarıdır. Her zaman POSIX ayırıcıları içerirler ve alıntı yapılmazlar. Kitaptaki dosyalar için kurallı tanımlayıcılar olarak düşünülebilirler. Kapsayıcı nesnedeki yöntemlerin çoğu adlarla çalışır. Adlar her zaman NFC Unicode normal biçimindedir.
Klonlar: konteyner nesnesi, e-kitap düzenleyicide kontrol noktalarını uygulamak için kullanılan verimli disk üzerinde klonlamayı destekler. Bunun işe yaraması için dosya sistemindeki dosyalara asla doğrudan erişmemelisiniz. Bunun yerine, kitaptaki bileşen dosyalarını okumak/yazmak için
raw_data()
veyaopen()
kullanın.
Href ve isimler arasında dönüştürme yaparken bu sınıf tarafından sağlanan yöntemleri kullanın, bunlar tüm href’lerin tırnağa alındığını varsayar.
- abspath_to_name(fullpath, root=None)[kaynak]¶
Bir mutlak yolu :attr:`root`a göre kurallanan bir isme dönüştür
- Parametreler:
root – Temel klasör. Varsayılan olarak bu kapsayıcı nesnenin kökü kullanılır.
- add_file(name, data, media_type=None, spine_index=None, modify_name_if_needed=False, process_manifest_item=None)[kaynak]¶
Bu kapsayıcıya bir dosya ekle. Dosya için girdiler otomatik olarak OPF manifestosu ve omurgaya eklenir (dosya bir metin belgeyse)
- add_name_to_manifest(name, process_manifest_item=None)[kaynak]¶
Manifestoya belirtilen isme sahip bir dosya için girdi ekle. Manifesto kimliğini döndürür.
- add_properties(name, *properties)[kaynak]¶
Belirtilen özellikleri ada göre tanımlanan bildirim öğesine ekleyin.
- apply_unique_properties(name, *properties)[kaynak]¶
Belirtilen özelliklerin yalnızca ada göre tanımlanan bildirim öğesi üzerinde ayarlandığından emin olun. Özelliği tüm öğelerden kaldırmak için ad olarak Yok’u iletebilirsiniz.
- book_type = 'oeb'¶
Kitabın türü (EPUB dosyalar için epub ve AZW3 dosyalar için azw3)
- commit(outpath=None, keep_parsed=False)[kaynak]¶
Tüm kirli ayrıştırılmış nesneleri dosya sistemine kaydedin ve e-kitap dosyasını outpath’e yazın.
- Parametreler:
output – Kaydedilen e-kitap dosyasının yazılacağı yol. Hiçbiri yoksa orijinal kitap dosyasının yolu kullanılır.
keep_parsed – Doğruysa, taahhüt edilen öğelerin ayrıştırılmış temsilleri önbellekte tutulur.
- commit_item(name, keep_parsed=False)[kaynak]¶
Ayrıştırılmış bir nesneyi diske gönder (serileştirilir ve altında yatan dosyaya yazılır). Eğer
keep_parsed
Doğru ise, ayrıştırılmış temsil zulada tutulur. Ayrıca bknz:parsed()
- dirty(name)[kaynak]¶
İsme karşılık gelen ayrıştırılmış nesneyi kirli olarak işaretle. Ayrıca bknz:
parsed()
.
- exists(name)[kaynak]¶
Kurallı ada karşılık gelen bir dosya/klasör mevcutsa doğrudur. Bu işlevin, temel işletim sistemi dosya sisteminin sınırlamalarından, özellikle de büyük/küçük harf duyarlılığından muzdarip olduğunu unutmayın. Bu nedenle, büyük/küçük harfe duyarlı olmayan bir dosya sisteminde, adın büyük/küçük harf durumu, temeldeki dosya sistemi dosyasının durumundan farklı olsa bile bu, True değerini döndürür. Ayrıca bakınız
has_name()
- filesize(name)[kaynak]¶
Belirtilen kuralsal isimle temsil edilen dosyanın boyutunu bayt cinsinden döndür. Kirli ayrıştırılmış nesneleri otomatik olarak halleder. Ayrıca bknz:
parsed()
- generate_item(name, id_prefix=None, media_type=None, unique_href=True)[kaynak]¶
Bir öğeyi manifestoya, verilen isimden türetilen href ile ekle. Href ve kimliğin benzersiz olduğunu otomatik olarak garantiler. Üretilen öğeyi döndürür.
- get_file_path_for_processing(name, allow_modification=True)[kaynak]¶
Açık dosya nesnesi yerine bir dosya yolu döndürmesi dışında open()’a benzer.
- property guide_type_map¶
Kılavuz türden kuralsal isme harita
- has_name(name)[kaynak]¶
Belirtilen ile aynı kuralsal isme sahip bir dosya mevcutsa Doğru döndür. :meth:`exists`in aksine, bu yöntem her zaman büyük küçük harf duyarlıdır.
- href_to_name(href, base=None)[kaynak]¶
Bir href’i (tabana göre) isme dönüştür. taban bir isim veya None olmalıdır, ki bu durumda self.root kullanılır.
- insert_into_xml(parent, item, index=None)[kaynak]¶
Öğeyi girintilemeyi düzelterek üst öğeye ekle (ya da indis None ise ekle). Yalnızca kendine kapanan öğeler ile çalışır.
- is_dir = False¶
Eğer kapsayıcı ziplenmemiş kitabı betimliyorsa(bir dizin)
- iterlinks(name, get_line_numbers=True)[kaynak]¶
İsimdeki tüm bağlantılar üzerinde dön. Eğer get_line_numbers Doğru ise (bağlantı, satır_numarası, uzaklık) biçiminde sonuçlar üretir. Burda satır numarası bağlantının bulunduğu satır, uzaklık ise satır başından kaç karakter uzakta olduğudur. Uzaklığın, uzaklık sıfır değilse bir çok satırı kapsayabileceğini unutmayın.
- make_name_unique(name)[kaynak]¶
Bu kitapta ‘ad’ın mevcut olmadığından emin olun. Eğer öyleyse, mevcut olmayan, değiştirilmiş bir sürümü döndürün.
- property manifest_id_map¶
Manifesto kimliğinin kuralsal isimlere haritası
- manifest_items_of_type(predicate)[kaynak]¶
Medya türü yüklemle eşleşen tüm bildirim öğelerinin adları. ‘yüklem’ medya türüyle çağrılacak olan bir küme, bir liste, bir dize veya tek bir argüman alan bir işlev olabilir.
- property manifest_type_map¶
Manifesto ortam türünün bu ortam türünde kuralsal isimlerin listesine haritası
- property mi¶
Bu kitabın metadata’sının Metadata nesnesi. Bu nesnenin bu özellik her istendiğinde oluşturulduğunu unutmayın, tutumlu kullanın.
- name_to_href(name, base=None)[kaynak]¶
Bir ismi tabana göre yapılmış bir href’e çevir, base bir isim veya None olabilir ki bu durumda self.root kullanılır
- property names_that_must_not_be_changed¶
Asla yeniden adlandırılmaması gereken adlar kümesi. E-kitap dosya biçimine bağlıdır.
- property names_that_must_not_be_removed¶
Kaptan asla silinmemesi gereken adlar kümesi. E-kitap dosya biçimine bağlıdır.
- property names_that_need_not_be_manifested¶
Bildiride eksik olmasına izin verilen adlar kümesi. E-kitap dosya biçimine bağlıdır.
- open(name, mode='rb')[kaynak]¶
İsmin gösterdiği dosyayı doğrudan okuma/yazma için aç. Bunun dosyayı kirli ise göndereceğini, ve ayrıştırma zulasından sileceğini unutmayın. Ayrıştırılmış sürümüne tekrar erişmeden önce bu dosyayla işinizi bitirmelisiniz, yoksa kötü şeyler olur.
- property opf¶
Ayrıştırılmış OPF dosyası
- opf_get_or_create(name)[kaynak]¶
Belirtilen isme sahip ilk XML öğesini döndüren veya mevcut değilse opf:package öğesi altında oluşturarak döndüren kolaylaştırıcı yöntem.
- property opf_version¶
OPF’nin <package> öğesinde ayarlanmış sürüm
- property opf_version_parsed¶
OPF’nin <package>öğesinde bir tamsayı dizisi olarak ayarlanan sürüm
- opf_xpath(expr)[kaynak]¶
XPath ifadesini OPF dosyasında değerlendiren kolaylık sağlayıcı yöntem, opf: ve dc: isim uzayı ön ekleri önceden tanımlanmıştır.
- parsed(name)[kaynak]¶
Ada göre belirtilen dosyanın ayrıştırılmış bir temsilini döndürür. HTML ve XML dosyaları için bir lxml ağacı döndürülür. CSS dosyaları için bir css_parser stil sayfası döndürülür. Ayrıştırılan nesnelerin performans amacıyla önbelleğe alındığını unutmayın. Ayrıştırılan nesnede herhangi bir değişiklik yaparsanız kabın önbelleği güncellemesini bilmesi için
dirty()
çağrısını yapmalısınız. Ayrıca bakınızdeğiştir()
.
- raw_data(name, decode=True, normalize_to_nfc=True)[kaynak]¶
İsimle belirtilen dosyayla ilişkili ham veriyi döndürür
- Parametreler:
decode – True ise ve dosya metin tabanlı bir MIME türüne sahipse, kodunu çözün ve ham baytlar yerine unicode bir nesne döndürün.
normalize_to_nfc – True ise döndürülen evrensel kodda nesne EPUB ve AZW3 dosya biçimlerinin gerektirdiği şekilde NFC normal biçimine normelleştirilir.
- relpath(path, base=None)[kaynak]¶
Bir mutlak yolu (işletim sistemi ayraçlarıyla) tabana göre bir yola dönüştür (varsayılan self.root).Göreceli yol bir isim değildir. Bunun için
abspath_to_name()
kullanın.
- remove_from_spine(spine_items, remove_if_no_longer_in_spine=True)[kaynak]¶
Belirtilen öğeleri (kuralsal isme göre) omurgadan çıkar. Eğer
remove_if_no_longer_in_spine
True ise, öğeler kitaptan da silinir, sadece omurgadan değil.
- remove_from_xml(item)[kaynak]¶
Öğeyi üstünden ayırır, girintiyi düzeltir (yalnızca kendi kendine kapanan öğelerde çalışır)
- remove_item(name, remove_from_guide=True)[kaynak]¶
İsimle belirtilen öğeyi bu kapsayıcıdan çıkar. Bu, öğeye tüm başvuruları OPF manifestosundan, kılavuzdan ve omurgadan, ayrıca dahili zulalardan çıkarır.
- rename(current_name, new_name)[kaynak]¶
Bir dosyayı geçerli_ad’dan yeni_ad’a yeniden adlandırır. Dosyanın bulunduğu klasör değişirse, dosya içindeki tüm bağlantıları otomatik olarak yeniden temellendirir. Ancak bu dosyaya referans verebilecek diğer dosyalardaki bağlantıların güncellenmediğini unutmayın. Bu performans içindir, bu tür güncellemelerin toplu olarak bir kez yapılması gerekir.
- replace(name, obj)[kaynak]¶
Replace the parsed object corresponding to name with obj, which must be a similar object, i.e. an lxml tree for HTML/XML or a css_parser stylesheet for a CSS file.
- replace_links(name, replace_func)[kaynak]¶
İsimdeki tüm bağlantıları replace_func kullanarak, ki bu URL alan ve değiştirilen URL’yi döndüren bir çağrılabilir olmalıdır, değiştir. Ayrıca gerçekten değişiklik yapıldıysa True olarak ayarlanacak bir ‘replace’ özniteliği olmalıdır. Bu gibi çağrılabilirler oluşturmanın uygun yolu
LinkReplacer
veLinkRebaser
sınıflarını kullanmaktır.
- serialize_item(name)[kaynak]¶
Ayrıştırılmış bir nesneyi (kuralsal isimle tanımlanan) bayt karakter dizisine çevir. Bknz
parsed()
.
- set_spine(spine_items)[kaynak]¶
Omurgayı spine_items olacak şekilde ayarla, öyle ki spine_items (isim, doğrusal) biçiminde bir yinelenebilir olsun. İsimlerden biri manifestoda yoksa hata yükseltir.
- property spine_items¶
Kitapların omurgasındaki her öğenin yolunu gösteren bir yineleyici. Ayrıca bakınız:
spine_iter
vespine_items
.
- property spine_iter¶
Kitabın omurgasındaki her öğe için item, name is_linear döndüren bir yinelenebilir. item lxml öğesidir, name kuralsal dosya ismidir ve is_linear öğe doğrusalsa True’dir. Ayrıca bknz:
spine_names
vespine_items
.
- property spine_names¶
name döndüren bir yinelenebilir ve kitap omurgasındaki her öğe için is_linear. Ayrıca bknz:
spine_iter
vespine_items
.
Bir kapsayıcıdaki bileşen dosyalarının yönetimi¶
- calibre.ebooks.oeb.polish.replace.replace_links(container, link_map, frag_map=<function <lambda>>, replace_in_opf=False)[kaynak]¶
Bağlantıları kapsayıcıda dosyalarla değiştir. Kapsayıcıdaki tüm dosyaların üzerinden geçerek içlerinde belirtilen bağlantıları değiştirir.
- Parametreler:
link_map – Eski kuralsal isimden yeni kuralsal isme harita. Örneğin:
{'images/old.png': 'images/new.png'}
frag_map – İki bağımsız değişken
(isim, çapa)
alan ve yeni bir çapa döndüren bir çağrılabilir. HTML dosyalarındaki çapaları değiştirme ihtiyacınız varsa faydalıdır. Öntanımlı olarak, hiçbir şey yapmaz.replace_in_opf – False ise, OPF dosyasında bağlantılar değiştirilmez.
- calibre.ebooks.oeb.polish.replace.rename_files(container, file_map)[kaynak]¶
Kapsayıcı içindeki dosyaları yeniden adlandır, onlara olan tüm bağlantıları da güncelle.
- Parametreler:
file_map – Eski kuralsal isimden yeni kuralsal isme harita, örneğin:
{'text/chapter1.html': 'chapter1.html'}
.
- calibre.ebooks.oeb.polish.replace.get_recommended_folders(container, names)[kaynak]¶
Verilen dosya isimleri için tavsiye edilen dizinleri döndür. Tavsiye aynı türde dosyaların kapsayıcı içinde nerede olduklarını temel alır. Belirli türde hiç dosya yoksa, tavsiye edilen dizin OPF dosyasını içeren dizin olarak varsayılır.
Güzel yazdırma ve ayrıştırma hatalarının otomatik düzeltilmesi¶
- calibre.ebooks.oeb.polish.pretty.fix_html(container, raw)[kaynak]¶
Ham karakter dizisi olarak temsil edilen HTML’deki ayrıştırma hatalarını düzelt. Düzeltme HTML5 ayrıştırma algoritması ile yapılır.
- calibre.ebooks.oeb.polish.pretty.fix_all_html(container)[kaynak]¶
Kapsayıcıdaki tüm HTML dosyalarındaki ayrıştırma hatalarını düzelt. Düzeltme HTML5 ayrıştırma algoritmasıyla yapılır.
- calibre.ebooks.oeb.polish.pretty.pretty_html(container, name, raw)[kaynak]¶
Ham karakter dizisi olarak temsil edilen HTML’yi güzel yazdır
- calibre.ebooks.oeb.polish.pretty.pretty_css(container, name, raw)[kaynak]¶
Ham karakter dizisi olarak temsil edilen CSS’yi güzel yazdır
Kitap ceketlerinin yönetimi¶
Dosyaların ayrılması ve birleştirilmesi¶
- calibre.ebooks.oeb.polish.split.split(container, name, loc_or_xpath, before=True, totals=None)[kaynak]¶
name ile belirtilen dosyayı loc_ veeya _xpath ile belirtilen konumdan ayır. Ayırma otomatik olarak etkilenen dosyalardaki tüm bağlantı ve başvuruları günceller.
- Parametreler:
loc_or_xpath – //h:div[@id=”burayı_ayır”] gibi bir XPath ifadesi olmalıdır. Ayrıca önizleme panelinde dahili olarak ayırmayı uygulayan loc da olabilir.
before – True ise ayırma tanımlanan öğeden önce olur, aksi halde sonra.
totals – Dahili olarak kullanılır
- calibre.ebooks.oeb.polish.split.multisplit(container, name, xpath, before=True)[kaynak]¶
Belirtilen dosyayı birden fazla konuma bölün (belirtilen XPath ifadesiyle eşleşen tüm etiketler). Ayrıca bakınız:
split()
. Bölme işlemi, etkilenen dosyalara yönelik tüm bağlantıları ve referansları otomatik olarak taşır.- Parametreler:
before – True ise ayırma tanımlanan öğeden önce yapılır, aksi halde sonra.
- calibre.ebooks.oeb.polish.split.merge(container, category, names, master)[kaynak]¶
Belirtilen dosyaları tek bir dosya olarak birleştir, etkilenen dosyalardaki tüm bağlantı ve başvuruları otomatik olarak güncelle. Dosyalar ya tamamen HTML ya da CSS olmalıdır.
- Parametreler:
category – Ya HTML dosyalar için
'text'
ya da CSS dosyalar için'styles'
olmalıdır.names – Birleştirilecek dosyaların listesi
master – Birleştirilen dosyalardan hangisinin ana dosya olduğu, yani, birleştirme sonrası kalacak olan dosya.
Kapakların yönetimi¶
- calibre.ebooks.oeb.polish.cover.set_cover(container, cover_path, report=None, options=None)[kaynak]¶
Kitabın kapağını cover_path ile gösterilen resim olarak ayarla.
- Parametreler:
cover_path – Ya bir resim dosyasına mutlak yol ya da kitap içindeki bir resmin kuralsal ismi. Kitaptaki bir resim kullanılırken, ayrıca seçenekleri de belirtmelisiniz, aşağıya göz atın.
report – Tek bir bağımsız değişken alan isteğe bağlı çağrılabilir. İşlenen görevlerle ilgili bilgi ile çağrılacaktır.
options – None veya kapağın nasıl ayarlandığını kontrol eden bir sözlük. Sözlüğün girdileri olabilir:keep_aspect: True veya False (EPUB kapaklarının en-boy oranlarını korur) no_svg: True veeya False (EPUB başlık sayfasında bir SVG kapak sargısı kullanır) existing: True veya False (
cover_path
kitaptaki mevcut bir resmi gösterir)
CSS ile Çalışmak¶
- calibre.ebooks.oeb.polish.fonts.change_font(container, old_name, new_name=None)[kaynak]¶
Bir yazı tipi ailesini old_name’den new_name’ye değiştir. Yazı tipinin biçim sayfaları, biçim etiketleri ve biçim özniteliklerinde tamamen değişmesini sağlar. old_name gömülü bir yazı tipini gösteriyorsa, kaldırılır. Yazı tipi ailesini değiştirmek yerine kaldırmak için new_name’yi None olarak ayarlayabilirsiniz.
- 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)[kaynak]¶
Kullanılmayan tüm CSS kurallarını kitaptan çıkar. Kullanılmayan bir CSS kuralı herhangi bir içerikle eşleşmeyen kuraldır.
- Parametreler:
report – Tek bir bağımsız değişken alan isteğe bağlı çağrılabilir. Gerçekleştirilen işlemler hakkındaki bilgi ile çağrılır.
remove_unused_classes – True ise, HTML’deki herhangi bir CSS kuralıyla eşleşmeyen sınıf öznitelikleri de kaldırılır.
merge_rules – True ise aynı seçicilere sahip kurallar birleştirilir.
merge_rules_with_identical_properties – True ise aynı özelliklere sahip kurallar birleştirilir.
remove_unreferenced_sheets – Doğruysa, herhangi bir içerik tarafından başvurulmayan stil sayfaları kaldırılır
- calibre.ebooks.oeb.polish.css.filter_css(container, properties, names=())[kaynak]¶
Belirtilen CSS özelliklerini kitaptaki tüm CSS kurallarından çıkar.
- Parametreler:
properties – Kaldırılacak özellikler kümesi. Örneğin:
{'font-family', 'color'}
.names – Özelliklerin çıkarılacağı dosyalar. Öntanımlı olarak kitaptaki tüm HTML ve CSS dosyalardır.
İçindekiler ile Çalışmak¶
- calibre.ebooks.oeb.polish.toc.from_xpaths(container, xpaths, prefer_title=False)[kaynak]¶
Generate a Table of Contents from a list of XPath expressions. Each expression in the list corresponds to a level of the generate ToC. For example:
['//h:h1', '//h:h2', '//h:h3']
will generate a three level Table of Contents from the<h1>
,<h2>
and<h3>
tags.
- calibre.ebooks.oeb.polish.toc.from_links(container)[kaynak]¶
Kitaptaki bağlantılardan bir İçindekiler üret.
Kitap düzenleme aracı¶
- class calibre.gui2.tweak_book.plugin.Tool[kaynak]¶
Temeller: :py:sınıf:`nesne`
Bir Kitap Düzenle eklentisindeki araçlar için taban sınıf. Kullanışlı üyelerden bazıları:
self.plugin
: bu aracı ait olduğucalibre.customize.Plugin
nesnesine başvuru.self.
boss
self.
gui
Alt sınıflarda ezilmesi gereken metodlar:
- name = None¶
Bunu benzersiz bir isim olarak ayarlayın anahtar olarak kullanılacaktır
- allowed_in_toolbar = True¶
True ise kullanıcı bu aracı eklenti araç çubuğuna koymayı seçebilir
True ise kullanıcı bu aracı eklenti menüsüne koymayı seçebilir
- toolbar_button_popup_mode = 'delayed'¶
Menü (eğer varsa) için açılır pencere kipi. Muhtemel değerler ‘delayed’, ‘instant’, ‘button’
- property boss¶
calibre.gui2.tweak_book.boss.Boss
nesnesi. Kullanıcı arayüzünü kontrol etmek için kullanılır.
- property gui¶
Kullanıcı arayüzünün ana penceresi
- property current_container¶
Düzenlenen kitabı temsil eden
calibre.ebooks.oeb.polish.container.Container
nesnesini döndür.
- register_shortcut(qaction, unique_name, default_keys=(), short_text=None, description=None, **extra_data)[kaynak]¶
Belirtilen ``qaction``ı tetikleyecek bir klavye kısayolu kaydedin. Bu klavye kısayolu, düzenleyici tercihlerinin Klavye kısayolları bölümünde kullanıcı tarafından otomatik olarak özelleştirilebilir hale gelecektir.
- Parametreler:
qaction – Bir QAction nesnesi, kullanıcı tarafından ayarlanmış tuş kombinasyonuna basıldığında tetiklenecektir.
unique_name – Bu kısayol/eylem için benzersiz bir isim. Dahili olarak kullanılacaktır, bu eklentideki diğer eylemlerde kullanılmamalıdır.
default_keys – Öntanımlı klavye kısayollarının listesi. Belirtilmezse öntanımlı kısayol ayarlanmaz. Burada belirtilen kısayollar dahili kısayollarla ya da kullanıcı yapılandırmasıyla/diğer eklentilerle kesişirse, göz ardı edilirler. Bu durumda, kullanıcılar kısayolları elle Tercihler yardımıyla yapılandırmak zorundadırlar. Örneğin:
default_keys=('Ctrl+J', 'F9')
.short_text – Bu eylemin isteğe bağlı kısa bir tanımı. Belirtilmezse QAction’daki metin kullanılır.
description – Bu eylem için isteğe bağlı uzun tanım, bu kısayol için tercihler girdisinde kullanılacaktır.
- create_action(for_toolbar=True)[kaynak]¶
``for_toolbar``a bağlı olarak, ya eklenti araç çubuğuna, ya da eklentiler menüsüne eklenecek olan bir QAction oluştur. Örneğin:
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
Ayrıca bakınız
Metod
register_shortcut()
.
Düzenleyicinin kullanıcı arayüzünün kontrolü¶
E-kitap düzenleyicinin kullanıcı arayüzü tek bir global Boss nesnesi tarafından kontrol edilir. Bu, ortak görevleri gerçekleştirmek için eklenti kodunda kullanılabilecek birçok yararlı yönteme sahiptir.
- class calibre.gui2.tweak_book.boss.Boss(parent, notify=None)[kaynak]¶
-
- apply_container_update_to_gui(mark_as_modified=True)[kaynak]¶
Mevcut kitap kapsayıcısındaki son veriyi yansıtması için kullanıcı arayüzünün tüm bileşenlerini güncelle.
- Parametreler:
mark_as_modified – True ise, kitap değiştirildi olarak işaretlenir, böylece kullanıcıya çıkışta kaydetmek isteyip istemediği sorulur.
- commit_all_editors_to_container()[kaynak]¶
Kullanıcının düzenleyicilerde açık dosyalarda yaptığı değişiklikleri kapsayıcılara kaydet. Bu metodu mevcut kapsayıcıda herhangi bir eylem gerçekleştirmeden çağırmalısınız
- property currently_editing¶
Şu an düzenlenen dosya ismini veya herhangi bir dosya düzenlenmiyorsa None döndür
- edit_file(name, syntax=None, use_template=None)[kaynak]¶
name ile belirtilen dosyayı bir düzenleyicide aç
- Parametreler:
syntax – Dosyanın ortam türü, örneğin,
'text/html'
. Belirtilmemişse dosya uzantısından tahmin edilir.use_template – Açılan düzenleyiciyi ilklendirmek için bir şablon
- open_book(path=None, edit_file=None, clear_notify_data=True, open_folder=False, search_text=None)[kaynak]¶
Düzenlemek için e-kitabı
path
konumunda açın. E-kitap desteklenen bir formatta değilse veya mevcut kitapta kaydedilmemiş değişiklikler varsa bir hata gösterecektir.- Parametreler:
edit_file – Düzenlemeye başlamak için yeni açılmış kitap içindeki bir dosyanın ismi. İsim listesi de olabilir.
- rewind_savepoint()[kaynak]¶
Geriye alma kontrol noktasının önceki oluşumundan vazgeç, bir kontrol noktası yarattınız, ama işlemi değişiklik yapmadan iptal ettiyseniz kullanışlıdır
- show_current_diff(allow_revert=True, to_container=None)[kaynak]¶
Kitabın son kontrol noktasındaki durumuyla farkını göster
- Parametreler:
allow_revert – True ise fark iletişim penceresi kullanıcının tüm değişiklikleri geri almasını sağlayan bir düğme içerir
to_container – Mevcut kapsayıcıyı karşılaştıracak bir kapsayıcı nesnesi. None ise, daha önce kontrol noktasına alınan kapsayıcı kullanılır