Eklentiler için API belgeleri¶
Güçlü eklentiler oluşturmak için alt sınıf yapılabilir çeşitli soyut temel sınıfları tanımlar. Kullanışlı sınıflar şunlardır:
Eklenti¶
- class calibre.customize.Plugin(plugin_path)[kaynak]¶
Bir calibre eklentisi. Kullanışlı üyeleri şunları içerir:
self.installation_type
: Eklentinin nasıl kurulduğunu saklar.self.plugin_path
: Aşağıdakileri içeren ZIP dosyasının yolunu saklar:içeren zip dosyasına yolu tutar
self.site_customization
: Kullanıcı tarafından girilen bir özelleştirmekarakter dizisini tutar.
Alt sınıflarda ezilmesi gereken metodlar:
Kullanışlı metodlar:
__enter__()
- supported_platforms = []¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- name = 'Trivial Plugin'¶
Bu eklentinin adı. Çalışması için Trivial Plugin dışında bir şeye ayarlamalısınız.
- version = (1, 0, 0)¶
Eklentinin 3-lü demet şeklinde sürümü (majör, minör, düzeltme)
- description = 'Kesinlikle hiçbir şey yapmaz'¶
Bu eklentinin ne yaptığını anlatan kısa karakter dizisi
- author = 'Bilinmiyor'¶
Eklentinin yazarı
- priority = 1¶
Bir dosya türü için birden fazla eklenti mevcut olduğunda, eklentiler azalan öncelik sırasına göre çalıştırılır. Daha yüksek önceliğe sahip eklentiler ilk önce çalıştırılacaktır. Mümkün olan en yüksek öncelik “sys.maxsize”dir. Varsayılan öncelik 1’dir.
- minimum_calibre_version = (0, 4, 118)¶
Bu eklentinin gerektirdiği en eski calibre sürümü
- installation_type = None¶
Bu eklentinin kurulma şekli
- can_be_disabled = True¶
False ise, kullanıcının bu eklentiyi kapatma şansı olmayacaktır. Dikkatli kullanın.
- type = 'Temel'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- initialize()[kaynak]¶
Calibre eklentileri ilklendirildiğinde bir defa çağrılır. Eklentiler yeni bir eklenti eklendiğinde her defasında yeniden ilklendirilirler. Ayrıca eklenti bir çalışan süreç içinde çalıştırılırsa, kitap ekleme süreci gibi, eklenti her yeni çalışma süreciyle ilklendirilecektir.
Eklenti ZIP dosyasından kaynakların çıkarılması gibi eklentiye özel herhangi bir başlatma işlemini burada gerçekleştirin. ZIP dosyasının yolu
self.plugin_path
olarak mevcuttur.self.site_customization
bu noktada kullanılabilir değildir.
- config_widget()[kaynak]¶
Basit karakter dizisi temelli varsayılan özelleştirmeye güvenmek yerine bu metodu ve
save_settings()
metodunu eklentinizde uygulayarak özel bir yapılandırma iletişim penceresi kullanın.Bu metod, eğer uygulanırsa, bir QWidget döndürmelidir. Parçacık isteğe bağlı olarak bağımsız değişken almayan bir validate() metoduna sahip olabilir ve kullanıcı Tamama tıklayınca anında çağrılır. Değişiklikler yalnızca metod True döndürürse uygulanır.
Bir sebepten bu aşamada yapılandırma yapamazsanız, iki karakter dizisi içeren bir demet döndürün (ileti, detaylar), bunlar kullanıcıya uyarı penceresi olarak gösterilir ve süreç iptal edilir.
- save_settings(config_widget)[kaynak]¶
Kullanıcı tarafından config_widget ile belirtilen ayarları kaydet.
- Parametreler:
config_widget –
config_widget()
tarafından döndürülen parçacık.
- do_user_config(parent=None)[kaynak]¶
Bu metod bu eklenti için bir yapılandırma iletişim penceresi gösterir. Kullanıcı Tamama tıklarsa True, yoksa False döndürür. Değişiklikler otomatik olarak uygulanır.
- load_resources(names)[kaynak]¶
Bu eklenti bir ZIP dosyasıyla gelirse (kullanıcı tarafından eklenmiş eklenti), bu metod ZIP dosyasından kaynakları yüklemenizi sağlar.
Örneğin bir resmi yüklemek için:
pixmap = QPixmap() pixmap.loadFromData(self.load_resources(['images/icon.png'])['images/icon.png']) icon = QIcon(pixmap)
- Parametreler:
names – Ayırıcı olarak / kullanılarak ZIP dosyasındaki kaynaklara giden yolların listesi
- Dönüşler:
{name: file_contents}
biçiminde bir sözlük. ZIP dosyasında bulunmayan adlar sözlükte de yer almayacaktır.
- customization_help(gui=False)[kaynak]¶
Bu eklentinin nasıl özelleştirileceği konusunda yardım veren bir metin. Varsayılan olarak
NotImplementedError
yükseltilir, bu da eklentinin özelleştirmeye ihtiyaç duymadığı anlamına gelir.Bu metodu alt sınıflarınızda yeniden uyguluyorsanız, kullanıcıdan bu eklenti için özelleştirme olarak kullanılacak bir karakter dizisi girmesi istenir. Özelleştirme karakter dizisi
self.site_customization
olarak kullanılabilir olacaktır.Site özelleştirmesi herşey olabilir, örneğin kullanıcının bilgisayarındaki bir ikiliğin yolu.
- Parametreler:
gui – True ise HTML yardımı döndür, yoksa düz metin yardımı.
- temporary_file(suffix)[kaynak]¶
Sistemde geçici bir dosya olan dosya-benzeri nesneyi döndür. Bu dosya kapandıktan sonra bile kullanılabilir olur ve yalnızca yorumlayıcı kapandığında silinir. Oluşturulan geçici dosyanın tam yoluna erişmek için dönen nesnenin
name
metodunu kullanın.- Parametreler:
suffix – Geçici dosyanın son eki.
FileTypePlugin¶
- class calibre.customize.FileTypePlugin(plugin_path)[kaynak]¶
Temeller:
Plugin
Belirli bir dosya türü kümesiyle ilişkili eklenti.
- file_types = {}¶
Bu eklentinin çalıştırılması gereken dosya türleri kümesi. Tüm dosya türleri için ‘*’ kullanın. Örneğin:
{'lit', 'mobi', 'prc'}
- on_import = False¶
True ise, bu eklenti kitaplar veri tabanına eklendiğinde çalışır
- on_postimport = False¶
True ise bu eklenti kitaplar veritabanına eklendikten sonra çalıştırılır. Bu durumda eklentinin postimport ve postadd yöntemleri çağrılır.
- on_postconvert = False¶
True ise bu eklenti kitap dönüştürüldükten sonra çalıştırılır. Bu durumda eklentinin postconvert yöntemi çağrılır.
- on_postdelete = False¶
True ise bu eklenti veritabanından bir kitap dosyası silindikten sonra çalıştırılır. Bu durumda eklentinin silme sonrası yöntemi çağrılır.
- on_preprocess = False¶
True ise, bu eklenti dönüştürme öncesi çalışır
- on_postprocess = False¶
True ise, bu eklenti dönüştürme çıktı eklentisi tarafından üretilen son dosyanın dönüştürmesi sonrası çalışır.
- type = 'Dosya türü'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- run(path_to_ebook)[kaynak]¶
Eklentiyi çalıştırın. Alt sınıflarda uygulanmalıdır. E-kitapta yapılması gereken değişiklikleri yapmalı ve değiştirilen e-kitabın mutlak yolunu döndürmelidir. Herhangi bir değişiklik gerekmiyorsa, orijinal e-kitabın yolunu döndürmelidir. Bir hatayla karşılaşılırsa bir İstisna oluşturulmalıdır. Varsayılan uygulama yalnızca orijinal e-kitabın yolunu döndürür. Orijinal dosyanın yolunun (herhangi bir dosya türü eklentisi çalıştırılmadan önce self.original_path_to_file olarak mevcut olduğunu) unutmayın.
Değiştirilen e-kitap dosyası
temporary_file()
yöntemiyle oluşturulmalıdır.- Parametreler:
path_to_ebook – E-kitabın mutlak yolu.
- Dönüşler:
Değiştirilen e-kitabın mutlak yolu.
- postimport(book_id, book_format, db)[kaynak]¶
İçe aktarım sonrası denir, yani kitap dosyası veritabanına eklendikten sonra. Bunun, kitap kaydı ilk kez oluşturulduğunda çağrılan :meth:`postadd`den farklı olduğunu unutmayın. Bu yöntem, bir kitap kaydına yeni bir dosya eklendiğinde çağrılır. Yeni eklenen dosyanın içeriğine göre kitap kaydını değiştirmek için kullanışlıdır.
- Parametreler:
book_id – Eklenen kitabın veri tabanı kimliği.
book_format – Eklenen kitabın dosya türü.
db – Kitaplık veri tabanı.
- postconvert(book_id, book_format, db)[kaynak]¶
Dönüştürme sonrası olarak adlandırılır, yani dönüştürme çıktı kitabı dosyası veritabanına eklendikten sonra. Bunun bir kitap eklendikten sonra değil, yalnızca bir dönüşümden sonra çalıştırıldığını unutmayın. Yeni eklenen dosyanın içeriğine göre kitap kaydını değiştirmek için kullanışlıdır.
- Parametreler:
book_id – Eklenen kitabın veri tabanı kimliği.
book_format – Eklenen kitabın dosya türü.
db – Kitaplık veri tabanı.
- postdelete(book_id, book_format, db)[kaynak]¶
Silme sonrası denir, yani kitap dosyası veritabanından silindikten sonra. Bir kitap kaydı silindiğinde çalıştırılmadığını, yalnızca kitaptan bir veya daha fazla format silindiğinde çalıştırıldığını unutmayın. Silinen dosyanın formatına göre kitap kaydını değiştirmek için kullanışlıdır.
- Parametreler:
book_id – Eklenen kitabın veri tabanı kimliği.
book_format – Eklenen kitabın dosya türü.
db – Kitaplık veri tabanı.
- postadd(book_id, fmt_map, db)[kaynak]¶
Post add olarak adlandırılır, yani veri tabanına bir kitap eklendikten sonra. Bunun, tek bir kitap dosyası bir kitaba eklendikten sonra çağrılan :meth:`postimport`tan farklı olduğunu unutmayın. postadd() yalnızca muhtemelen birden fazla kitap dosyası içeren bir kitap kaydının tamamı ilk kez oluşturulduğunda çağrılır. Kitap calibre’ye ilk eklendiğinde veri tabanındaki kitap kaydını değiştirmek istiyorsanız bu kullanışlıdır.
- Parametreler:
book_id – Eklenen kitabın veri tabanı kimliği.
fmt_map – Dosya biçiminin, dosya biçiminin eklendiği yol ile haritası. Bazen dosyalar akış olarak eklendiğinden, bunun mevcut bir dosyaya işaret edebileceğini veya etmeyebileceğini unutmayın. Bu durumda sahte bir değer veya var olmayan bir yol olabilir.
db – Kitaplık veri tabanı
Metadata eklentileri¶
- class calibre.customize.MetadataReaderPlugin(*args, **kwargs)[kaynak]¶
Temeller:
Plugin
Bir dosya türü kümesinden metadata okumayı uygulayan bir eklenti.
- file_types = {}¶
Bu eklentinin çalıştırılması gereken dosya türleri kümesi. Örneğin:
set(['lit', 'mobi', 'prc'])
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- version = (7, 23, 0)¶
Eklentinin 3-lü demet şeklinde sürümü (majör, minör, düzeltme)
- author = 'Kovid Goyal'¶
Eklentinin yazarı
- type = 'Metaveri okuyucu'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- get_metadata(stream, type)[kaynak]¶
Akış tarafından temsil edilen dosyanın (okumayı destekleyen dosya benzeri bir nesne) meta verilerini döndürün. Giriş verilerinde bir hata olduğunda bir istisna oluşturun.
- Parametreler:
type – Dosya türü.
file_types
içindeki girdilerden biri olduğu garanti edilir.- Dönüşler:
- class calibre.customize.MetadataWriterPlugin(*args, **kwargs)[kaynak]¶
Temeller:
Plugin
Bir dosya türü kümesinden metadata okumayı uygulayan bir eklenti.
- file_types = {}¶
Bu eklentinin çalıştırılması gereken dosya türleri kümesi. Örneğin:
set(['lit', 'mobi', 'prc'])
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- version = (7, 23, 0)¶
Eklentinin 3-lü demet şeklinde sürümü (majör, minör, düzeltme)
- author = 'Kovid Goyal'¶
Eklentinin yazarı
- type = 'Metaveri yazıcı'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- set_metadata(stream, mi, type)[kaynak]¶
Akış tarafından temsil edilen dosya için meta verileri ayarlayın (okumayı destekleyen dosya benzeri bir nesne). Giriş verilerinde bir hata olduğunda bir istisna oluşturun.
- Parametreler:
type – Dosya türü.
file_types
içindeki girdilerden biri olduğu garanti edilir.mi – A :sınıf:`calibre.ebooks.metadata.book.Metadata` nesnesi
Katalog eklentileri¶
- class calibre.customize.CatalogPlugin(plugin_path)[kaynak]¶
Temeller:
Plugin
Bir katalog üreteci uygulayan eklenti.
- file_types = {}¶
Bu eklentinin çalıştırılması gereken çıktı dosyası türü. Örneğin: ‘epub’ veya ‘xml’
- type = 'Katalog üreteci'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- cli_options = []¶
Bu eklentiye özel CLI ayrıştırıcı seçenekleri, “namedtuple” “Option” olarak bildirildi:
koleksiyonlardan içe aktar Nametuple Option = nametuple(‘Option’, ‘option, default, dest, help’) cli_options = [Option(’–catalog-title’, default = ‘Kataloğum’, dest = ‘catalog_title’, help = (_(‘Oluşturulan kataloğun başlığı. nDefault:’) + “ ‘” + ‘%default’ + “’”))] calibre.db.cli.cmd_catalog:option_parser() içinde ayrıştırılan cli_options
- initialize()[kaynak]¶
Eklenti yerleşik değilse, eklentinin .ui ve .py dosyalarını ZIP dosyasından $TMPDIR’e kopyalayın. Sekme dinamik olarak oluşturulacak ve calibre.gui2.dialogs.catalog.py:Catalog’daki Katalog Seçenekleri iletişim kutusuna eklenecektir.
- run(path_to_output, opts, db, ids, notification=None)[kaynak]¶
Eklentiyi çalıştır. Alt sınıflarda uygulanmalıdır. file_types’da belirtilen biçimde kataloğu üretmelidir, ve üretilen katalog dosyasına mutlak yolu döndürmelidir. Bir hataya rastlanırsa bir Exception yükseltmelidir.
Üretilen katalog dosyası
temporary_file()
metoduyla oluşturulmalıdır.- Parametreler:
path_to_output – Üretilen katalog dosyasına mutlak yol.
opts – Anahtar kelime değişkenlerinden oluşan bir sözlük
db – Bir LibraryDatabase2 nesnesi
Metadata indirme eklentileri¶
- class calibre.ebooks.metadata.sources.base.Source(*args, **kwargs)[kaynak]¶
Temeller:
Plugin
- type = 'Metadata kaynağı'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- author = 'Kovid Goyal'¶
Eklentinin yazarı
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- capabilities = frozenset({})¶
Bu eklenti tarafından desteklenen yetenek kümesi. Kullanışlı yetenekler: ‘identify’, ‘cover’
- touched_fields = frozenset({})¶
Bu eklenti tarafından tanımlama aşamasında indirilebilme potansiyeline sahip metadata alanları listesi
- has_html_comments = False¶
Eklentiniz HTML biçimli yorumlar döndürüyorsa bunu True olarak ayarlayın
- supports_gzip_transfer_encoding = False¶
Bunu True olarak ayarlamak, tarayıcı nesnesinin gzip aktarım kodlamasını desteklediğini belirteceği anlamına gelir. Bu, indirmeleri hızlandırabilir ancak öncelikle kaynağın gerçekten gzip aktarım kodlamasını doğru şekilde desteklediğinden emin olun.
- ignore_ssl_errors = False¶
Bu kaynağa bağlanırken HTTPS sertifika hatalarını yok saymak için bunu True olarak ayarlayın.
- cached_cover_url_is_reliable = True¶
Önbelleğe alınan kapak URL’leri bazen güvenilmez olabilir (yani indirme işlemi başarısız olabilir veya döndürülen resim sahte olabilir). Bu kaynakta sıklıkla durum böyleyse Yanlış olarak ayarlayın
- options = ()¶
Option
nesneleri listesi. Bu eklenti için otomatik olarak yapılandırma parçacığı inşa etmek için kullanılacaklar
- config_help_message = None¶
Bu eklenti için ayar penceresinin üstünde gösterilecek bir karakter dizisi
- can_get_multiple_covers = False¶
True ise bu kaynak verilen sorgu için birden çok kapak döndürebilir
- auto_trim_covers = False¶
True olarak ayarlıysa bu eklenti tarafından indirilen kapaklar otomatik olarak düzeltilir.
- prefer_results_with_isbn = True¶
True olarak ayarlanırsa, ve bu kaynak bir sorgu için bazılarında ISBN’ler olan bazılarında olmayan birden çok sonuç döndürüyorsa, ISBN olmayan sonuçlar göz ardı edilir
- is_configured()[kaynak]¶
Eklentinizin kullanılmadan önce yapılandırılması gerekiyorsa False döndür. Örneğin bir kullanıcı adı/parola/API anahtarına ihtiyaç duyuyor olabilir.
- customization_help()[kaynak]¶
Bu eklentinin nasıl özelleştirileceği konusunda yardım veren bir metin. Varsayılan olarak
NotImplementedError
yükseltilir, bu da eklentinin özelleştirmeye ihtiyaç duymadığı anlamına gelir.Bu metodu alt sınıflarınızda yeniden uyguluyorsanız, kullanıcıdan bu eklenti için özelleştirme olarak kullanılacak bir karakter dizisi girmesi istenir. Özelleştirme karakter dizisi
self.site_customization
olarak kullanılabilir olacaktır.Site özelleştirmesi herşey olabilir, örneğin kullanıcının bilgisayarındaki bir ikiliğin yolu.
- Parametreler:
gui – True ise HTML yardımı döndür, yoksa düz metin yardımı.
- config_widget()[kaynak]¶
Basit karakter dizisi temelli varsayılan özelleştirmeye güvenmek yerine bu metodu ve
save_settings()
metodunu eklentinizde uygulayarak özel bir yapılandırma iletişim penceresi kullanın.Bu metod, eğer uygulanırsa, bir QWidget döndürmelidir. Parçacık isteğe bağlı olarak bağımsız değişken almayan bir validate() metoduna sahip olabilir ve kullanıcı Tamama tıklayınca anında çağrılır. Değişiklikler yalnızca metod True döndürürse uygulanır.
Bir sebepten bu aşamada yapılandırma yapamazsanız, iki karakter dizisi içeren bir demet döndürün (ileti, detaylar), bunlar kullanıcıya uyarı penceresi olarak gösterilir ve süreç iptal edilir.
- save_settings(config_widget)[kaynak]¶
Kullanıcı tarafından config_widget ile belirtilen ayarları kaydet.
- Parametreler:
config_widget –
config_widget()
tarafından döndürülen parçacık.
- get_author_tokens(authors, only_first_author=True)[kaynak]¶
Bir yazar listesi al ve bir AND arama sorgusu için kulanışlı olacak jeton listesi döndür. Bu fonksiyon ilk ad göbek adı soyad sırasında jeton döndürmeye çalışır, yazar isminde bir virgül varsa, ismin soyad, diğer ad biçiminde olduğunu farz eder.
- get_title_tokens(title, strip_joiners=True, strip_subtitle=False)[kaynak]¶
Bir başlık al ve bir AND arama sorgusu için kullanışlı jeton listesi döndür. Bağlaç(isteğe bağlı) ve noktalama işaretleri hariç.
- clean_downloaded_metadata(mi)[kaynak]¶
Bu metodu eklentinizin tanımlama metodunda Metadata nesnesini result_queue’ye koymadan önce metadata’yı normalleştirmek için çağırın. Tabi ki metadata kaynağınıza uygun özel bir algoritma da kullanabilirsiniz.
- get_book_url(identifiers)[kaynak]¶
3’lü bir grup veya Hiçbiri döndürün. 3’lü grup şu biçimdedir: (tanımlayıcı_tipi, tanımlayıcı_değeri, URL). URL, bu kaynaktaki tanımlayıcılar tarafından tanımlanan kitabın URL’sidir. tanımlayıcı_türü, tanımlayıcı_değer URL’ye karşılık gelen tanımlayıcıyı belirtir. Bu URL’ye tarayıcı kullanan bir kişi tarafından göz atılabilir olmalıdır. Kullanıcının bu kaynaktaki kitap sayfasını kolayca ziyaret edebilmesi için tıklanabilir bir bağlantı sağlanması amaçlanmaktadır. Hiçbir URL bulunamazsa Yok değerini döndürün. Bu yöntemin hızlı ve tutarlı olması gerekir; bu nedenle, yalnızca URL’yi bilinen bir şema verilen tanımlayıcılardan oluşturmak mümkünse uygulayın.
- get_book_url_name(idtype, idval, url)[kaynak]¶
get_book_url()’nin döndürdüğü değerden okunabilir bir isim döndür.
- get_book_urls(identifiers)[kaynak]¶
Bu kitap için birden fazla URL döndürmek istiyorsanız bu yöntemi geçersiz kılın. 3’lü demetlerin listesini döndürün. Varsayılan olarak bu yöntem yalnızca
get_book_url()
öğesini çağırır.
- get_cached_cover_url(identifiers)[kaynak]¶
Tanımlayıcılar sözlüğü tarafından tanımlanan kitabın önbelleğe alınmış kapak URL’sini döndürün veya böyle bir URL yoksa Yok’u seçin.
Bu metodun yalnızca doğrulanmış URL’ler döndürmesi gerektiğine dikkat edin, örn. genel kapak resmi veya bulunamadı hatasına yol açacak URL’ler olmamalı.
- id_from_url(url)[kaynak]¶
Bir URL’yi ayrıştırın ve formun bir demetini döndürün: (tanımlayıcı_türü, tanımlayıcı_değer). URL, meta veri kaynağının modeliyle eşleşmiyorsa Yok değerini döndürün.
- identify_results_keygen(title=None, authors=None, identifiers={})[kaynak]¶
Bir arama sorgusu (başlık, yazarlar, tanımlayıcılar) alarak Metadata nesnelerini sıralamaya yarayacak bir anahtar üretmeye yarayan bir fonksiyon döndür.
Bu anahtarlar
identify()
çağrısı sonucunu sıralamaya yarar.Varsayılan algoritma detayları için bknz
InternalMetadataCompareKeyGen
. Varsayılan algoritma uygun değilse bu fonksiyonu tekrar uygulayın.
- identify(log, result_queue, abort, title=None, authors=None, identifiers={}, timeout=30)[kaynak]¶
Bir kitabı Başlığı/Yazar/ISBN/vb. ile tanımlayın.
Tanımlayıcı(lar) belirtilmiş ve bir eşleşme bulunamamışsa ve bu metadata kaynağı ilgili tüm tanımlayıcılar kaydetmemişse (örneğin, bir kitabın tüm ISBN’leri), bu metod sadece başlık ve yazar (belirtildiklerini farz ederek) ile tekrar denemelidir.
Bu metadata kaynağı kapak da sağlıyorsa, kapağın URL’si kapak getirme API’si ile tekrar tekrar aynı ISBN/özel tanımlayıcı çağrısı yapıldığında getirilmek zorunda kalınmasın diye zulalanmalıdır. Zulalama API’sini bunun için kullanın.
Bu metod tarafından result_queue’ya konan her Metadata nesnesinin bu sorgu için metadata kaynağınca döndürülen sonuçların sırasını belirten bir tamsayı olan source_relevance özniteliği olmalıdır. Bu tam sayı
compare_identify_results()
tarafından kullanılacaktır. Sıra önemli değilse, tüm sonuçlar için sıfır olarak ayarlayın.Metadata nesnesi result_queue’ye yerleştirilmeden önce tüm kapak/ISBN eşleme bilgilerinin önbelleğe alındığından emin olun.
- Parametreler:
log – Bir sistem günlüğü nesnesi, hata ayıklama bilgisi/hatası çıktılamak için kullanın
result_queue – Bir sonuç Kuyruğu, sonuçlar buna koyulmalı. Her sonuç bir Metadata nesnesidir
abort – Eğer abort.is_set() True döndürürse, işlemeyi durdur ve en kısa sürede dön
title – Kitabın başlığı, None olabilir
authors – Kitap için yazarlar listesi, None olabilir
identifiers – Diğer tanımlayıcıları içeren bir sözlük, en yaygın şekliyle {‘isbn’:’1234…’}
timeout – Saniye cinsinden zaman aşımı, hiçbir ağ isteği zaman aşımından uzun sürmemeli.
- Dönüşler:
Hataya rastlanmadıysa None, aksi halde hatanın kullanıcıya gösterilebilecek evrensel kodda temsili
- download_cover(log, result_queue, abort, title=None, authors=None, identifiers={}, timeout=30, get_best_cover=False)[kaynak]¶
Bir kapak indir ve result_queue’ya koy. Parametreler
identify()
metodundakiyle aynı anlamdadırlar. (self, cover_data)’yı result_queue’ya koy.Bu metod verimlilik için uygun olan her durumda zulalanmış kapak URL’lerini kullanmalıdır. Zulalı veri olmadığında, çoğu eklenti identify’ı çağırır ve onun sonuçlarını kullanır.
get_best_cover parametresi True ise ve bu eklenti birden çok kapak alabiliyorsa, yalnızca “en iyi” olanı almalı.
- class calibre.ebooks.metadata.sources.base.InternalMetadataCompareKeyGen(mi, source_plugin, title, authors, identifiers)[kaynak]¶
Bir arama sorgusu verildiğinde, Metadata nesnelerinin uygunluğunun karşılaştırması için bir sıralama anahtarı üret. Bu yalnızca aynı metadata kaynağından gelen sonuçları karşılaştırmak için kullanılır, farklı kaynaklar arasında değil.
Arama anahtarı artan sırada sıralamanın azalan uygunluk sırasında sıralama olduğundan emin olur.
Algoritma:
Sorguda olduğu gibi en az bir tanımlayıcısı olan sonuçları tercih et
Zulalanmış kapak URL’si olan sonuçları tercih et
Kullanılabilir alanların hepsi dolu olan sonuçları tercih et
Mevcut kullanıcı arayüzüyle aynı dilde olan sonuçları tercih et
Sorguyla başlığı birebir eşleşen sonuçları tercih et
Daha uzun yorumlu sonuçları tercih et (%10 uzunluktan fazlası)
- Sonucun uygunluğunu metadata kaynağının aramasından gelen rapor olarak kullan
motor
Dönüştürme eklentileri¶
- class calibre.customize.conversion.InputFormatPlugin(*args)[kaynak]¶
Temeller:
Plugin
InputFormatPlugins bir belgeyi HTML+OPF+CSS+vs. ye dönüştürmekle sorumludurlar. Dönüştürmenin sonuçları UTF-8 ile kodlanmış olmak zorundadır. Esas olay
convert()
içinde gerçekleşir.- type = 'Girdi dönüşümü'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- can_be_disabled = False¶
False ise, kullanıcının bu eklentiyi kapatma şansı olmayacaktır. Dikkatli kullanın.
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- file_types = {}¶
Bu eklentinin çalışacağı dosya türü kümesi. Örneğin:
set(['azw', 'mobi', 'prc'])
- is_image_collection = False¶
True ise, bu girdi eklentisi HTML dosyası başına bir resim koleksiyonu üretir. Bu, dönüştürme metodunda, girdi dosyaları hem resim koleksiyonları hem resim olmayan koleksiyonlar olabiliyorsa dinamik olarak ayarlanabilir. True olarak ayarlarsanız, resim listesi döndüren get_images() metodunu uygulamalısınız.
- core_usage = 1¶
Bu eklenti tarafından kullanılan CPU çekirdeği sayısı. -1 değeri, mevcut tüm çekirdekleri kullandığı anlamına gelir
- for_viewer = False¶
True olarak ayarlanırsa, girdi eklentisi çıktısını görüntülemeye uygun hale getirmek için özel işlemden geçirir
- output_encoding = 'utf-8'¶
Bu girdi eklentisinin dosyaları içinde oluşturduğu kodlama. None değeri kodlamanın belirtilmemiş olduğunu ve bağımsız şekilde algılanması gerektiğini belirtir
- common_options = {<calibre.customize.conversion.OptionRecommendation object>}¶
Tüm girdi biçim eklentilerince paylaşılan seçenekler. Alt sınıflarda ezmeyin. Bunun yerine
options
kullanın. Her seçenek birOptionRecommendation
örneği olmalıdır.
- options = {}¶
Bu eklentinin davranışını özelleştirecek seçenekler. Tüm seçenekler
OptionRecommendation
örneği olmalıdırlar.
- recommendations = {}¶
(seçenek_ismi, önerilen_değer, önerilen_seviye) biçiminde 3’lü demet kümesi
- get_images()[kaynak]¶
Bu eklenti bir resim koleksiyonunu destekliyorsa, resimlere mutlak yol listesini döndür. Resim listesi omurga ve İçindekiler ile aynı sıradadır.
- convert(stream, options, file_ext, log, accelerators)[kaynak]¶
Bu yöntemin alt sınıflarda uygulanması gerekir. Oluşturulan OPF dosyasının veya
OEBBook
örneğinin yolunu döndürmelidir. Tüm çıktı geçerli klasörde bulunmalıdır. Bu eklenti geçerli klasörün dışında dosyalar oluşturursa, bu yöntem geri dönmeden önce bunların silinmesi/silinmek üzere işaretlenmesi gerekir.- Parametreler:
stream – Girdi dosyasını içeren dosya benzeri nesne.
options – Dönüştürme sürecini özelleştirecek seçenekler. Bu eklentice bildirilen tüm seçeneklere karşılık gelen özniteliklere sahip olacağı garantidir. Ek olarak, tamamlayıcı değerleri sıfırdan yukarı doğru alan ayrıntılı bir özniteliği olacaktır. Yüksek sayılar daha ayrıntılı demektir. Kullanışlı başka bir öznitelik de
calibre.customize.profiles.InputProfile
örneği olaninput_profile
özniteliğidir.file_ext – Girdinin uzantısı (. olmadan). Bu eklentice desteklenen dosya_türlerinden biri olması garantidir.
log –
calibre.utils.logging.Log
nesnesi. Tüm çıktı bu nesneyi kullanmalı.accelerators – Girdi eklentisinin kolayca alabileceği, dönüştürmenin sonraki aşamalarını hızlandıracak olan çeşitli bilgileri içeren sözlük.
- postprocess_book(oeb, opts, log)[kaynak]¶
Girdi eklentisinin kitap ayrıştırıldıktan sonra işlem yapmasına izin vermek için çağrılır.
- class calibre.customize.conversion.OutputFormatPlugin(*args)[kaynak]¶
Temeller:
Plugin
OutputFormatPlugins, bir OEB belgesini (OPF+HTML) çıktı e-kitabına dönüştürmekten sorumludur.
OEB belgesinin UTF-8 ile kodlanmış olduğu varsayılabilir. Ana olay
convert()
içinde gerçekleşir.- type = 'Çıktı dönüşümü'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- can_be_disabled = False¶
False ise, kullanıcının bu eklentiyi kapatma şansı olmayacaktır. Dikkatli kullanın.
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- file_type = None¶
Bu eklentinin çıktıladığı dosya türü (noktasız son ek)
- common_options = {<calibre.customize.conversion.OptionRecommendation object>}¶
Tüm girdi biçim eklentilerince paylaşılan seçenekler. Alt sınıflarda ezmeyin. Bunun yerine
options
kullanın. Her seçenek birOptionRecommendation
örneği olmalıdır.
- options = {}¶
Bu eklentinin davranışını özelleştirecek seçenekler. Tüm seçenekler
OptionRecommendation
örneği olmalıdırlar.
- recommendations = {}¶
(seçenek_ismi, önerilen_değer, önerilen_seviye) biçiminde 3’lü demet kümesi
- property description¶
str(object=’’) -> str str(bytes_or_buffer[, kodlama[, hatalar]]) -> str
Verilen nesneden yeni bir dize nesnesi oluşturun. Kodlama veya hatalar belirtilirse, nesnenin, verilen kodlama ve hata işleyicisi kullanılarak kodu çözülecek bir veri arabelleğini açığa çıkarması gerekir. Aksi halde, object.__str__() (tanımlanmışsa) veya repr(object) sonucunu döndürür. kodlama varsayılan olarak sys.getdefaultencoding() şeklindedir. hatalar varsayılan olarak ‘katı’dır.
- convert(oeb_book, output, input_plugin, opts, log)[kaynak]¶
Oeb_book içeriğini (bu,
calibre.ebooks.oeb.OEBBook
örneğinin bir örneğidir) çıktı tarafından belirtilen dosyaya işleyin.- Parametreler:
output – Ya nesneye benzer bir dosya ya da bir dize. Bu bir dize ise, var olan veya olmayan bir klasörün yoludur. Çıktı eklentisi çıktısını bu klasöre yazmalıdır. Dosya benzeri bir nesne ise, çıktı eklentisi çıktısını dosyaya yazmalıdır.
input_plugin – Dönüştürme boru hattının başında kullanılan girdi eklentisi.
opts – Dönüştürme seçenekleri. Bu eklentinin SeçenekÖnerilerine karşılık gelen öznitelikleri içermesi garantidir.
log – Günlük kaydedici. Hata ayıklama/bilgi vs. iletilerini bunu kullanarak yazdırın.
- specialize_options(log, opts, input_fmt)[kaynak]¶
Dönüşüm hattı tarafından kullanıldığı şekliyle, dönüştürme seçeneklerinin değerlerini değiştirmek için kullanılabilir.
- specialize_css_for_output(log, opts, item, stylizer)[kaynak]¶
CSS düzleştirme işlemi sırasında CSS’de değişiklik yapmak için kullanılabilir.
- Parametreler:
item – İşlenen öğe (HTML dosyası)
stylizer – Öğe için düzleştirilmiş biçemleri içeren Stylizer nesnesi. Herhangi bir öğenin biçemini stylizer.style(öğe) ile alabilirsiniz.
Aygıt sürücüleri¶
Tüm aygıt sürücüleri için taban sınıf DevicePlugin
dir. Ancak aygıtınız kendisini işletim sistemine USBMS sürücüsü olarak gösteriyorsa bu tür cihazları destekeleyecek her türlü mantığı uyguladığından USBMS sınıfını kullanmalısınız.
- class calibre.devices.interface.DevicePlugin(plugin_path)[kaynak]¶
Temeller:
Plugin
Bir e-kitap okuyucuyla iletişim kuran arka uçlar tarafından uygulanması gereken arayüzü tanımlar.
- type = 'Cihaz arabirimi'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- FORMATS = ['lrf', 'rtf', 'pdf', 'txt']¶
Desteklenen biçimlerin sıralı listesi
- VENDOR_ID = 0¶
VENDOR_ID bir tam sayı, tamsayı listesi veya sözlük olabilir. Bir sözlükse, sözlüklerin sözlüğü olmalıdır, şu şekilde:
{ integer_vendor_id : { product_id : [list of BCDs], ... }, ... }
- PRODUCT_ID = 0¶
Bir tam sayı veya tam sayı listesi
- BCD = None¶
BCD BCD tabanlı aygıtlar arasında ayrı kalmaması için None olabilir, veya bu sürücü tarafından desteklenen tüm aygıtların BCD numaralarından oluşan liste olabilir.
- THUMBNAIL_HEIGHT = 68¶
Küçük resimlerin aygıttaki yüksekliği
- THUMBNAIL_COMPRESSION_QUALITY = 75¶
Küçük resimler için sıkıştırma kalitesi. Daha az sıkıştırma kusuruyla daha kaliteli küçük resimler elde etmek için bunu 100’e yaklaştırın. Elbette küçük resimler de büyüyor.
- WANTS_UPDATED_THUMBNAILS = False¶
Aygıt sync_booklists sırasında kapak küçük resimlerini güncellemeye izin veriyorsa bunu True olarak ayarlayın. True olarak ayarlamak kitap eşleştirme sırasında device.py’ye kapak küçük resimlerini güncellemesini söyler
- CAN_SET_METADATA = ['title', 'authors', 'collections']¶
Kitaplardaki metadata’nın GUI ile ayarlanıp ayarlanamayacağı.
- CAN_DO_DEVICE_DB_PLUGBOARD = False¶
Aygıtın device_db metadata santralini ele alıp alamayacağı
- path_sep = '/'¶
Bu aygıttaki kitaplara olan yollar için yol ayracı
- icon = 'reader.png'¶
Bu aygıt için simge
- UserAnnotation¶
alias of
Annotation
- OPEN_FEEDBACK_MESSAGE = None¶
GUI, durum çubuğunda Hiçbiri değilse bunu bir mesaj olarak görüntüler. Açılışın uzun zaman alabileceği durumlarda kullanışlıdır
- VIRTUAL_BOOK_EXTENSIONS = frozenset({})¶
Aygıtta “sanal kitap” olan ve bu yüzden kitaplıkta görüntülenemeyen/kaydedilemeyen/eklenemeyen eklentiler kümesi. Örneğin:
frozenset(['kobo'])
- VIRTUAL_BOOK_EXTENSION_MESSAGE = None¶
Sanal kitap uzantıları için kullanıcıya gösterilecek mesaj.
- NUKE_COMMENTS = None¶
Kitabın aygıta yollanan kopyasında yorumlar tamamen silinsin mi. None değilse bunun yorumların değiştirileceği kısa bir metin olması gerekir.
- MANAGES_DEVICE_PRESENCE = False¶
If True indicates that this driver completely manages device detection, ejecting and so forth. If you set this to True, you must implement the detect_managed_devices and debug_managed_device_detection methods. A driver with this set to true is responsible for detection of devices, managing a blacklist of devices, a list of ejected devices and so forth. calibre will periodically call the detect_managed_devices() method and if it returns a detected device, calibre will call open(). open() will be called every time a device is returned even if previous calls to open() failed, therefore the driver must maintain its own blacklist of failed devices. Similarly, when ejecting, calibre will call eject() and then assuming the next call to detect_managed_devices() returns None, it will call post_yank_cleanup().
- SLOW_DRIVEINFO = False¶
True olarak ayarlandıysa, calibre kitap listeleri yüklendikten sonra sürücü bilgisi almak için
get_driveinfo()
çağıracaktır.
- ASK_TO_ALLOW_CONNECT = False¶
True olarak ayarlandıysa, calibre kullanıcıya aygıt ilk kez algılandığında aygıtı calibre ile yönetip isteyip istemediğini sorar. Bunu True olarak ayarlarsanız
get_device_uid()
veignore_connected_device()
veget_user_blacklisted_devices()
veset_user_blacklisted_devices()
uygulamalısınız
- user_feedback_after_callback = None¶
Bazı geri çağrılar çalıştırıldıktan sonra (şu an yalnızca upload_books) calibre’nin bir ileti penceresi açmasını sağlamak için bunu {‘title’:başlık, ‘msg’:ileti, ‘det_msg’:detaylı_ileti} biçiminde bir sözlük olarak ayarlayın. Kullanıcıyı bir sürü ileti ile sıkmamaya dikkat edin. Bu değişken her geri çağrıdan sonra kontrol edilir, yalnızca gerçekten ihtiyacınız olduğunda ayarlayın.
- classmethod get_open_popup_message()[kaynak]¶
GUI displays this as a non-modal popup. Should be an instance of OpenPopupMessage
- is_usb_connected(devices_on_system, debug=False, only_presence=False)[kaynak]¶
Bu eklenti ile ele alınan bir aygıt hali hazırda bağlıysa True, device_info döndür.
- Parametreler:
devices_on_system – Hali hazırda bağlı olan aygıtlar
- detect_managed_devices(devices_on_system, force_refresh=False)[kaynak]¶
Yalnızca MANAGES_DEVICE_PRESENCE True ise çağrılır.
Bu sürücünün ele alabileceği aygıtları tara. Bir aygıt bulunursa aygıt nesnesi döndürmelidir. Bu nesne open() metoduna connected_device olarak geçirilir. Aygıt bulunamazsa, None döndürür. Döndürülen nesne herşey olabilir, calibre bu nesneyi kullanmaz, sadece open()’a geçirilir.
Bu metod GUI tarafından aralıklarla çağrılır, fazla kaynak tüketmediğinden emin olun. Sistemi tekrar tekrar taramaktan kaçınmak için bir zula kullanın.
- Parametreler:
devices_on_system – Sistemde bulunan USB aygıtları kümesi.
force_refresh – True ise ve sürücü tekrar taramalardan kaçınmak için zula kullanıyorsa, zula temizlenmelidir.
- debug_managed_device_detection(devices_on_system, output)[kaynak]¶
Yalnızca MANAGES_DEVICE_PRESENCE True ise çağrılır.
Sistemde algılanan sürücüler hakkında bilgiyi dosya benzeri bir nesne olan çıktıya yazmalıdır.
Bir aygıt algılanmış ve başarıyla açılmışsa True, aksi halde False döndürmelidir.
- reset(key='-1', log_packets=False, report_progress=None, detected_device=None)[kaynak]¶
- Parametreler:
key – Aygıtın kilidini açacak tuş
log_packets – True ise aygıta giden/aygıttan gelen paket akışı kaydedilir
report_progress – Function that is called with a % progress (number between 0 and 100) for various tasks. If it is called with -1 that means that the task does not have any progress information
detected_device – Aygıt tarayıcıdan gelen aygıt bilgisi
- can_handle_windows(usbdevice, debug=False)[kaynak]¶
Optional method to perform further checks on a device to see if this driver is capable of handling it. If it is not it should return False. This method is only called after the vendor, product ids and the bcd have matched, so it can do some relatively time intensive checks. The default implementation returns True. This method is called only on Windows. See also
can_handle()
.Note that for devices based on USBMS this method by default delegates to
can_handle()
. So you only need to overridecan_handle()
in your subclass of USBMS.- Parametreler:
usbdevice – A usbdevice as returned by
calibre.devices.winusb.scan_usb_devices()
- can_handle(device_info, debug=False)[kaynak]¶
Unix version of
can_handle_windows()
.- Parametreler:
device_info – (vid, pid, bcd, imalatçı, ürün, seri numarası) demeti
- open(connected_device, library_uuid)[kaynak]¶
Tüm aygıta özel ilklendirmeleri yap. Aygıt algılandıktan sonra ama aygıtla iletişim kuran diğer fonksiyonlardan önce çağrılır. Örneğin: Kendilerini USB depolama aygıtı olarak tanıtan aygıtlarda, bu metod aygıtı bağlamakla veya aygıt otomatik bağlandıysa, nereye bağlandığını öğrenmekle sorumlu olur.
calibre.devices.usbms.device.Device.open()
metodunun bu fonksiyonun USB depolama aygıtlarıyla ilgili iyi bir örnek olacak uygulaması vardır.Bu metod kullanıcıya bir ileti göstermek için bir OpenFeedback istisnası yükseltebilir.
- Parametreler:
connected_device – The device that we are trying to open. It is a tuple of (vendor id, product id, bcd, manufacturer name, product name, device serial number). However, some devices have no serial number and on Windows only the first three fields are present, the rest are None.
library_uuid – Mevcut calibre kitaplığının UUID’si. Bir kitaplık yoksa None olabilir (örneğin komut satırından kullanıldığında).
- eject()[kaynak]¶
Aygıtın işletim sisteminden bağını ayır/çıkart. Bu aygıtla iletişim kurmaya çalışan GUI işlerinin olup olmadığını kontrol etmez.
NOT: Bu metod diğer aygıt metodlarıyla aynı iş ipliğinde çağrılamayabilir.
- set_progress_reporter(report_progress)[kaynak]¶
Süreç bilgisini raporlaması için bir fonksiyon ayarla.
- Parametreler:
report_progress – Function that is called with a % progress (number between 0 and 100) for various tasks. If it is called with -1 that means that the task does not have any progress information
- get_device_information(end_session=True)[kaynak]¶
Aygıtı aygıt bilgisi için sorgula. Bknz L{DeviceInfoQuery}.
- Dönüşler:
(device name, device version, software version on device, MIME type) The tuple can optionally have a fifth element, which is a drive information dictionary. See usbms.driver for an example.
- get_driveinfo()[kaynak]¶
driveinfo sözlüğünü döndür. Genellikle get_device_information() içinden çağrılır, ama bu sürücü için driveinfo yüklenmesi yavaşsa, SLOW_DRIVEINFO’yu ayarlamalıdır. Bu durumda, bu metod calibre tarafından kitap listeleri yüklendikten sonra çağrılır. Bunun aygıt iş ipliğinde çağrılmadığına dikkat edin, yani sürücü books() metodundaki aygıt bilgisini zulalamalı ve bu fonksiyon zulalanmış veriyi döndürmelidir.
- card_prefix(end_session=True)[kaynak]¶
Kartlar üstündeki yollara 2 elemanlı ön ek listesi döndür. Herhangi bir kart yoksa kart ön eki olarak None ayarlanır. ÖRN. (‘/place’, ‘/place2’) (None, ‘place2’) (‘place’, None) (None, None)
- total_space(end_session=True)[kaynak]¶
- 2 öğeli bir kartlar üstündeki yollara ön ekler listesi döndür. Herhangi bir kart mevcut değilse kart ön eki olarak None ayarlanır. ÖRN. (‘/place’, ‘/place2’) (None, ‘place2’) (‘place’, None) (None, None)
Cihaz hafızası
Hafıza Kartı A
Hafıza Kartı B
- Dönüşler:
(1, 2, 3) bayt toplam alanlı 3 elemanlı liste. Eğer herhangi bir aygıt bu konumlardan birine sahip değilse 0 döndürmelidir.
- free_space(end_session=True)[kaynak]¶
- Bağlantı noktalarında kullanılabilir olan boş alanı al:
Cihaz hafızası
Kart A
Kart B
- Dönüşler:
(1, 2, 3) bayt boş alanlı 3 elemanlı liste. Herhangi bir aygıt bu konumlardan birine sahip değilse -1 döndürmelidir.
- books(oncard=None, end_session=True)[kaynak]¶
Return a list of e-books on the device.
- Parametreler:
oncard – If ‘carda’ or ‘cardb’ return a list of e-books on the specific storage card, otherwise return list of e-books in main memory of device. If a card is specified and no books are on the card return empty list.
- Dönüşler:
Bir KitapListesi.
- upload_books(files, names, on_card=None, end_session=True, metadata=None)[kaynak]¶
Bir kitap listesini aygıta yükle. Aygıtta bir dosya zaten varsa, değiştirilmelidir. Bu metod aygıtta yeterli yer yoksa
FreeSpaceError
yükseltmelidir. FreeSpaceError’un metnion_card
None değilse “card” kelimesini içermelidir, aksi durumda “memory” kelimesini içermelidir.- Parametreler:
files – Bir yol listesi
names – Kitapların aygıta yüklendikten sonra sahip olması gereken isimlerin listesi. len(isimler) == len(dosyalar)
metadata – None değilse,
Metadata
nesneleri listesidir. Ana fikir kitabı aygıtta nereye koyacağını metadata kullanarak belirlemektir. len(metadata) == len(dosyalar). Sıradan kapaktan ayrı olarak (kapağa yol), ayrıca isteğe bağlı kullanılabilecek küçük resim özniteliği olabilir. Küçük resim özniteliği (genişlik, yükseklik, jpeg olarak kapak verisi) biçimindedir.
- Dönüşler:
3 elemanlı demetler listesi. Liste
add_books_to_metadata()
ya geçirilmek üzere düşünülmüştür.
- classmethod add_books_to_metadata(locations, metadata, booklists)[kaynak]¶
Kitaplistelerine konumlar ekle. Bu fonksiyon aygıtla iletişime geçmemelidir.
- Parametreler:
locations – L{upload_books} çağrısı sonucu
metadata –
Metadata
nesneleri listesi,upload_books()
için olanın aynısı.booklists – (
books(oncard=None)()
,books(oncard='carda')()
, :meth`books(oncard=’cardb’)`) çağrıları sonucunu içeren bir demet.
- classmethod remove_books_from_metadata(paths, booklists)[kaynak]¶
Kitapları metadata listesinden çıkar. Bu fonksiyon aygıtla iletişime geçmemelidir.
- Parametreler:
paths – aygıttaki kitaplara yollar.
booklists – (
books(oncard=None)()
,books(oncard='carda')()
, :meth`books(oncard=’cardb’)`) çağrıları sonucunu içeren bir demet.
- sync_booklists(booklists, end_session=True)[kaynak]¶
Aygıttaki metadata’yı güncelle.
- Parametreler:
booklists – (
books(oncard=None)()
,books(oncard='carda')()
, :meth`books(oncard=’cardb’)`) çağrıları sonucunu içeren bir demet.
- get_file(path, outfile, end_session=True)[kaynak]¶
Aygıtta
path
yolundaki dosyayı oku ve çıktı dosyasına yaz.- Parametreler:
outfile –
sys.stdout
benzeri bir dosya nesnesi veya biropen()
çağrısı sonucu.
- classmethod config_widget()[kaynak]¶
Bir QWidget döndürmelidir. QWidget aygıt arayüzü için ayarları içerir
- classmethod save_settings(settings_widget)[kaynak]¶
Ayarları diske kaydetmelidir.
config_widget()
içinde oluşturulan parçacığı alır ve tüm ayarları diske kaydeder.
- classmethod settings()[kaynak]¶
Bir opts nesnesi döndürmelidir. opts nesnesinin aygıt için biçimlerin sıralı listesi olan en az bir format_map özniteliği olmalıdır.
- set_plugboards(plugboards, pb_func)[kaynak]¶
sürücüye mevcut santral kümesini ve belirli bir santrali seçmek için fonksiyonu sağla. Bu metod add_books ve sync_booklists’den hemen önce çağrılır.
- pb_func şu imzaya sahip bir çağrılabilirdir:
def pb_func(aygıt_ismi, biçim, santraller)
Mevcut aygıt ismini (sınıf ismi veya DEVICE_PLUGBOARD_NAME), ilgilendiğiniz biçimi (‘gerçek’ bir biçim veya ‘device_db’), ve santralleri (bu metodu aldığınız yer de olan set_plugboards ile almıştınız) verirsiniz.
- Dönüşler:
None veya tekli bir santral örneği.
- set_driveinfo_name(location_code, name)[kaynak]¶
Driveinfo dosyasındaki aygıt adını ‘isim’ olarak ayarla. Bu ayar dosya tekrar oluşturulana veya ismi tekrar değiştirilene kadar kalacaktır.
Disk olmayan aygıtlar bu metodu get_device_information() metodundan dönen konum kodlarını temel alarak uygulamalıdırlar.
- prepare_addable_books(paths)[kaynak]¶
Bir yol listesi verildiğinde, başka bir yol listesi döndürür. Bu yollar kitapların eklenebilir sürümlerini gösterir.
Bir kitap hazırlanırken hata olursa, bir yol yerine, bu kitap için döndürülen liste içindeki konum üçlü demet olmalıdır: (asıl_yol, istisna örneği, geri izleme)
- startup()[kaynak]¶
Called when calibre is starting the device. Do any initialization required. Note that multiple instances of the class can be instantiated, and thus __init__ can be called multiple times, but only one instance will have this method called. This method is called on the device thread, not the GUI thread.
- shutdown()[kaynak]¶
Calibre kapanırken çağrılır, tam kapanırken ya da yeniden başlatılırken. Gerekli temizliği yapın. Bu metod GUI iş ipliğinde değil aygıt sürecinde çağrılır.
- get_device_uid()[kaynak]¶
Hazırda bağlı olan aygıt için benzersiz bir kimlik döndürmelidir (başarılı open() çağrısından hemen sonra çağrılır). ASK_TO_ALLOW_CONNECT = True ayarladıysanız bu metodu uygulamalısınız
- ignore_connected_device(uid)[kaynak]¶
Gelecekte uid (get_device_uid() çağrısı sonucu) ile tanımlanan aygıtı göz ardı etmeli. ASK_TO_ALLOW_CONNECT = True ayarladıysanız bu metodu uygulamalısınız. Bu fonksiyon open() metodunun hemen ardından çağrılır, yani open() bir durumu zulalarsa, sürücü bu bu durumu sıfırlamalıdır.
- get_user_blacklisted_devices()[kaynak]¶
Kullanıcının göz ardı edilmesini istediği tüm aygıtlar için aygıt uid’inden okunabilir isme haritayı döndür.
- set_user_blacklisted_devices(devices)[kaynak]¶
Bu sürücü tarafından göz ardı edilmesi gereken aygıt uid listesini ayarla.
- specialize_global_preferences(device_prefs)[kaynak]¶
Aygıtınız belirli bir tercihi ezmek istiyorsa bu metodu uygulayın. Ezilebilir tercih isteyen tüm çağrı sitelerinin prefs[‘bir şeyler’] yerine device_prefs[‘bir şeyler’] kullandığından emin olmalısınız. Metodunuz device_prefs.set_overrides(pref=val, pref=val, …) çağırlmalıdır. Mevcut durumda şunun için kullanılır: metadata yönetimi (prefs[‘manage_device_metadata’])
- set_library_info(library_name, library_uuid, field_metadata)[kaynak]¶
Mevcut calibre kitaplığıyla ilgili bilgi istiyorsanız bu metodu uygulayın. Bu metod açılışta ve bağlıyken calibre kitaplığı değiştiğinde çağrılır.
- is_dynamically_controllable()[kaynak]¶
Eklentiler başlatılırken aygıt yöneticisi tarafından çağrılır. Bu metod karakter dizisi döndürürse, a) aygıt yöneticisinin dinamik kontrol ara yüzünü destekler, ve b) bu isim eklentiyle konuşurken kullanılır.
Bu metod GUI sürecinde çağrılabilir. Bu metodu uygulayan bir sürücü iş ipliği güvenliği sağlamalıdır.
- start_plugin()[kaynak]¶
Bu metod eklentiyi başlatmak için çağrılır. Eklenti aygıt bağlantılarını her nasıl yapıyorsa öyle kabul etmeye başlamalıdır. Eklenti zaten bağlantı kabul ediyorsa, bir şey yapma.
Bu metod GUI sürecinde çağrılabilir. Bu metodu uygulayan bir sürücü iş ipliği güvenliği sağlamalıdır.
- stop_plugin()[kaynak]¶
Bu metod eklentiyi durdurmak için çağrılır. Eklenti artık bağlantı kabul etmemeli, ve arkasını temizlemelidir. shutdown’u bu metodun çağırması beklenebilir. Eklenti zaten bağlantı kabul etmiyorsa, bir şey yapma.
Bu metod GUI sürecinde çağrılabilir. Bu metodu uygulayan bir sürücü iş ipliği güvenliği sağlamalıdır.
- get_option(opt_string, default=None)[kaynak]¶
opt_string tarafından gösterilen seçeneğin değerini döndür. Bu metod eklenti başlatılmadığında çağrılabilir. Seçenek mevcut değilse None döndür.
Bu metod GUI sürecinde çağrılabilir. Bu metodu uygulayan bir sürücü iş ipliği güvenliği sağlamalıdır.
- set_option(opt_string, opt_value)[kaynak]¶
opt_string tarafından gösterilen seçeneğin değerini ayarla. Bu metod eklenti başlatılmadan çağrılabilir.
Bu metod GUI sürecinde çağrılabilir. Bu metodu uygulayan bir sürücü iş ipliği güvenliği sağlamalıdır.
- is_running()[kaynak]¶
Eklenti başlatıldıysa True döndür, yoksa false
Bu metod GUI sürecinde çağrılabilir. Bu metodu uygulayan bir sürücü iş ipliği güvenliği sağlamalıdır.
- synchronize_with_db(db, book_id, book_metadata, first_call)[kaynak]¶
Called during book matching when a book on the device is matched with a book in calibre’s db. The method is responsible for synchronizing data from the device to calibre’s db (if needed).
Metod iki değerli bir demet döndürmelidir. İlk değer calibre veri tabanı değiştiyse değişen kitap kimliklerinin kümesi veya değişmediyse None’dir. İlk değer boş bir kümeyse aygıttaki kitap metadata’sı calibre’nin metadata’sıyla güncellenir ve aygıta geri verilir, ama bu kitabın GUI tazelemesi yapılmaz. Calibre verisi doğruyken ve aygıta gönderilmesi gerekiyorken faydalıdır.
The second value is itself a 2-value tuple. The first value in the tuple specifies whether a book format should be sent to the device. The intent is to permit verifying that the book on the device is the same as the book in calibre. This value must be None if no book is to be sent, otherwise return the base file name on the device (a string like foobar.epub). Be sure to include the extension in the name. The device subsystem will construct a send_books job for all books with not- None returned values. Note: other than to later retrieve the extension, the name is ignored in cases where the device uses a template to generate the file name, which most do. The second value in the returned tuple indicated whether the format is future-dated. Return True if it is, otherwise return False. calibre will display a dialog to the user listing all future dated books.
Çok önemli: bu metod GUI sürecinde çalışır. Aygıt yöneticisinin iş ipliğine dikkat ederek iş ipliği güvenli olmalıdır.
book_id: kitap için veri tabanındaki calibre kimliği. book_metadata: aygıttan gelen kitap için Metadata nesnesi. first_call: Bir eşzamanlama sırasında bu ilk çağrıysa True, aksi halde False
- class calibre.devices.interface.BookList(oncard, prefix, settings)[kaynak]¶
Bases:
list
Kitap listesi. Her bir Book nesnesinin alanları olmalıdır
başlık
yazarlar
boyut (kitabın dosya boyutu)
datetime (UTC tarih demeti)
yol (aygıtta kitaba olan yol)
küçük resim (None olabilir) küçük resim ya resim verisini tutan bir karakter dizisi/bayt nesnesi olmalı ya da resme mutlak yolu (platforma göre) içeren bir image_path özniteliği olmalıdır
etiketler (bir karakter dizisi listesi, boş olabilir).
- supports_collections()[kaynak]¶
Aygıt bu kitap listesi için koleksiyonları destekliyorsa True döndür.
- add_book(book, replace_metadata)[kaynak]¶
Kitabı kitap listesine ekle. Amaç tüm aygıt-dahili metadatayı yönetmektir. Kitaplisteleri eşzamanlanmalıysa True döndür
- remove_book(book)[kaynak]¶
Bir kitabı kitap listesinden çıkar. Aynı zamanda tüm aygıt metadata’sını düzelt
- get_collections(collection_attributes)[kaynak]¶
collection_attributes’dan oluşturulan koleksiyon sözlüğü döndür. Sözlükteki her girdi koleksiyon_ismi:[kitap listesi] biçimindedir
Kitap listesi, serilerden oluşturulan koleksiyonlar dışında - bu durumda series_index kullanılır - kitap başlığına göre sıralanır.
- Parametreler:
collection_attributes – Kitap nesnesinin öznitelik listesi
USB Depolama temelli aygıtlar¶
Bu tarz aygıtlar için temel sınıf :class:`calibre.devices.usbms.driver.USBMS`dir. Bu sınıf bazı işlevlerini aşağıda belgelendiği gibi temel aldıkları sınıflardan alırlar. Genel basit bir USBMS tabanlı sürücü şuna benzer:
from calibre.devices.usbms.driver import USBMS
class PDNOVEL(USBMS):
name = 'Pandigital Novel device interface'
gui_name = 'PD Novel'
description = _('Communicate with the Pandigital Novel')
author = 'Kovid Goyal'
supported_platforms = ['windows', 'linux', 'osx']
FORMATS = ['epub', 'pdf']
VENDOR_ID = [0x18d1]
PRODUCT_ID = [0xb004]
BCD = [0x224]
THUMBNAIL_HEIGHT = 144
EBOOK_DIR_MAIN = 'eBooks'
SUPPORTS_SUB_DIRS = False
def upload_cover(self, path, filename, metadata):
coverdata = getattr(metadata, 'thumbnail', None)
if coverdata and coverdata[2]:
with open('%s.jpg' % os.path.join(path, filename), 'wb') as coverfile:
coverfile.write(coverdata[2])
- class calibre.devices.usbms.device.Device(plugin_path)[kaynak]¶
Bases:
DeviceConfig
,DevicePlugin
Bu sınıf kendini USB Depolama aygıtı olarak aktaran aygıtların tüm sürücüleri için genel mantığı sağlar. Tüm platformlarda geçerli USBMS bağlama/çıkarma uygulamalarını sağlar.
- VENDOR_ID = 0¶
VENDOR_ID bir tam sayı, tamsayı listesi veya sözlük olabilir. Bir sözlükse, sözlüklerin sözlüğü olmalıdır, şu şekilde:
{ integer_vendor_id : { product_id : [list of BCDs], ... }, ... }
- PRODUCT_ID = 0¶
Bir tam sayı veya tam sayı listesi
- BCD = None¶
BCD BCD tabanlı aygıtlar arasında ayrı kalmaması için None olabilir, veya bu sürücü tarafından desteklenen tüm aygıtların BCD numaralarından oluşan liste olabilir.
- WINDOWS_MAIN_MEM = None¶
String identifying the main memory of the device in the Windows PnP id strings This can be None, string, list of strings or compiled regex
- WINDOWS_CARD_A_MEM = None¶
String identifying the first card of the device in the Windows PnP id strings This can be None, string, list of strings or compiled regex
- WINDOWS_CARD_B_MEM = None¶
String identifying the second card of the device in the Windows PnP id strings This can be None, string, list of strings or compiled regex
- OSX_MAIN_MEM_VOL_PAT = None¶
Used by the new driver detection to disambiguate main memory from storage cards. Should be a regular expression that matches the main memory mount point assigned by macOS
- BACKLOADING_ERROR_MESSAGE = None¶
- MAX_PATH_LEN = 250¶
Aygıtta oluşturulan azami yol uzunluğu
- NEWS_IN_FOLDER = True¶
Haberleri kendi dizinine koy
- reset(key='-1', log_packets=False, report_progress=None, detected_device=None)[kaynak]¶
- Parametreler:
key – Aygıtın kilidini açacak tuş
log_packets – True ise aygıta giden/aygıttan gelen paket akışı kaydedilir
report_progress – Function that is called with a % progress (number between 0 and 100) for various tasks. If it is called with -1 that means that the task does not have any progress information
detected_device – Aygıt tarayıcıdan gelen aygıt bilgisi
- set_progress_reporter(report_progress)[kaynak]¶
Süreç bilgisini raporlaması için bir fonksiyon ayarla.
- Parametreler:
report_progress – Function that is called with a % progress (number between 0 and 100) for various tasks. If it is called with -1 that means that the task does not have any progress information
- card_prefix(end_session=True)[kaynak]¶
Kartlar üstündeki yollara 2 elemanlı ön ek listesi döndür. Herhangi bir kart yoksa kart ön eki olarak None ayarlanır. ÖRN. (‘/place’, ‘/place2’) (None, ‘place2’) (‘place’, None) (None, None)
- total_space(end_session=True)[kaynak]¶
- 2 öğeli bir kartlar üstündeki yollara ön ekler listesi döndür. Herhangi bir kart mevcut değilse kart ön eki olarak None ayarlanır. ÖRN. (‘/place’, ‘/place2’) (None, ‘place2’) (‘place’, None) (None, None)
Cihaz hafızası
Hafıza Kartı A
Hafıza Kartı B
- Dönüşler:
(1, 2, 3) bayt toplam alanlı 3 elemanlı liste. Eğer herhangi bir aygıt bu konumlardan birine sahip değilse 0 döndürmelidir.
- free_space(end_session=True)[kaynak]¶
- Bağlantı noktalarında kullanılabilir olan boş alanı al:
Cihaz hafızası
Kart A
Kart B
- Dönüşler:
(1, 2, 3) bayt boş alanlı 3 elemanlı liste. Herhangi bir aygıt bu konumlardan birine sahip değilse -1 döndürmelidir.
- windows_sort_drives(drives)[kaynak]¶
Called to disambiguate main memory and storage card for devices that do not distinguish between them on the basis of WINDOWS_CARD_NAME. For example: The EB600
- can_handle_windows(usbdevice, debug=False)[kaynak]¶
Optional method to perform further checks on a device to see if this driver is capable of handling it. If it is not it should return False. This method is only called after the vendor, product ids and the bcd have matched, so it can do some relatively time intensive checks. The default implementation returns True. This method is called only on Windows. See also
can_handle()
.Note that for devices based on USBMS this method by default delegates to
can_handle()
. So you only need to overridecan_handle()
in your subclass of USBMS.- Parametreler:
usbdevice – A usbdevice as returned by
calibre.devices.winusb.scan_usb_devices()
- open(connected_device, library_uuid)[kaynak]¶
Tüm aygıta özel ilklendirmeleri yap. Aygıt algılandıktan sonra ama aygıtla iletişim kuran diğer fonksiyonlardan önce çağrılır. Örneğin: Kendilerini USB depolama aygıtı olarak tanıtan aygıtlarda, bu metod aygıtı bağlamakla veya aygıt otomatik bağlandıysa, nereye bağlandığını öğrenmekle sorumlu olur.
calibre.devices.usbms.device.Device.open()
metodunun bu fonksiyonun USB depolama aygıtlarıyla ilgili iyi bir örnek olacak uygulaması vardır.Bu metod kullanıcıya bir ileti göstermek için bir OpenFeedback istisnası yükseltebilir.
- Parametreler:
connected_device – The device that we are trying to open. It is a tuple of (vendor id, product id, bcd, manufacturer name, product name, device serial number). However, some devices have no serial number and on Windows only the first three fields are present, the rest are None.
library_uuid – Mevcut calibre kitaplığının UUID’si. Bir kitaplık yoksa None olabilir (örneğin komut satırından kullanıldığında).
- eject()[kaynak]¶
Aygıtın işletim sisteminden bağını ayır/çıkart. Bu aygıtla iletişim kurmaya çalışan GUI işlerinin olup olmadığını kontrol etmez.
NOT: Bu metod diğer aygıt metodlarıyla aynı iş ipliğinde çağrılamayabilir.
- sanitize_callback(path)[kaynak]¶
Bağımsız aygıt sürücülerin
create_upload_path()
tarafından kullanılan yol düzenlemesini ezmesine izin veren geri çağrı.
- filename_callback(default, mi)[kaynak]¶
Sürücülerin
create_upload_path()
tarafından ayarlanan varsayılan dosya ismini değiştirmesine izin veren geri çağrı.
- class calibre.devices.usbms.driver.USBMS(plugin_path)[kaynak]¶
-
Tüm USBMS aygıtlar için temel sınıf. Gönderme/alma/metadata güncelleme/metadata zulalama/vs. için mantığı uygular
- description = 'Bir eKitap okuyucusu ile bağlantı kur.'¶
Bu eklentinin ne yaptığını anlatan kısa karakter dizisi
- author = 'John Schember'¶
Eklentinin yazarı
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- booklist_class¶
alias of
BookList
- book_class¶
alias of
Book
- FORMATS = []¶
Desteklenen biçimlerin sıralı listesi
- CAN_SET_METADATA = []¶
Kitaplardaki metadata’nın GUI ile ayarlanıp ayarlanamayacağı.
- get_device_information(end_session=True)[kaynak]¶
Aygıtı aygıt bilgisi için sorgula. Bknz L{DeviceInfoQuery}.
- Dönüşler:
(device name, device version, software version on device, MIME type) The tuple can optionally have a fifth element, which is a drive information dictionary. See usbms.driver for an example.
- set_driveinfo_name(location_code, name)[kaynak]¶
Driveinfo dosyasındaki aygıt adını ‘isim’ olarak ayarla. Bu ayar dosya tekrar oluşturulana veya ismi tekrar değiştirilene kadar kalacaktır.
Disk olmayan aygıtlar bu metodu get_device_information() metodundan dönen konum kodlarını temel alarak uygulamalıdırlar.
- books(oncard=None, end_session=True)[kaynak]¶
Return a list of e-books on the device.
- Parametreler:
oncard – If ‘carda’ or ‘cardb’ return a list of e-books on the specific storage card, otherwise return list of e-books in main memory of device. If a card is specified and no books are on the card return empty list.
- Dönüşler:
Bir KitapListesi.
- upload_books(files, names, on_card=None, end_session=True, metadata=None)[kaynak]¶
Bir kitap listesini aygıta yükle. Aygıtta bir dosya zaten varsa, değiştirilmelidir. Bu metod aygıtta yeterli yer yoksa
FreeSpaceError
yükseltmelidir. FreeSpaceError’un metnion_card
None değilse “card” kelimesini içermelidir, aksi durumda “memory” kelimesini içermelidir.- Parametreler:
files – Bir yol listesi
names – Kitapların aygıta yüklendikten sonra sahip olması gereken isimlerin listesi. len(isimler) == len(dosyalar)
metadata – None değilse,
Metadata
nesneleri listesidir. Ana fikir kitabı aygıtta nereye koyacağını metadata kullanarak belirlemektir. len(metadata) == len(dosyalar). Sıradan kapaktan ayrı olarak (kapağa yol), ayrıca isteğe bağlı kullanılabilecek küçük resim özniteliği olabilir. Küçük resim özniteliği (genişlik, yükseklik, jpeg olarak kapak verisi) biçimindedir.
- Dönüşler:
3 elemanlı demetler listesi. Liste
add_books_to_metadata()
ya geçirilmek üzere düşünülmüştür.
- upload_cover(path, filename, metadata, filepath)[kaynak]¶
Kitap kapağını aygıta yükle. Varsayılan uygulama hiçbir şey yapmaz.
- Parametreler:
path – İlgili kitabın bulunduğu klasörün tam yolu.
filename – Kitap dosyasının uzantısız ismi.
metadata – kitaba ait metadata. Kapak için metadata.thumbnail kullanın
filepath – E-kitap dosyasının tam yolu
- add_books_to_metadata(locations, metadata, booklists)[kaynak]¶
Kitaplistelerine konumlar ekle. Bu fonksiyon aygıtla iletişime geçmemelidir.
- Parametreler:
locations – L{upload_books} çağrısı sonucu
metadata –
Metadata
nesneleri listesi,upload_books()
için olanın aynısı.booklists – (
books(oncard=None)()
,books(oncard='carda')()
, :meth`books(oncard=’cardb’)`) çağrıları sonucunu içeren bir demet.
- remove_books_from_metadata(paths, booklists)[kaynak]¶
Kitapları metadata listesinden çıkar. Bu fonksiyon aygıtla iletişime geçmemelidir.
- Parametreler:
paths – aygıttaki kitaplara yollar.
booklists – (
books(oncard=None)()
,books(oncard='carda')()
, :meth`books(oncard=’cardb’)`) çağrıları sonucunu içeren bir demet.
Kullanıcı arayüzü eylemleri¶
If you are adding your own plugin in a ZIP file, you should subclass both InterfaceActionBase and InterfaceAction. The
load_actual_plugin()
method of your InterfaceActionBase subclass must return an instantiated object of your InterfaceBase subclass.
- class calibre.gui2.actions.InterfaceAction(parent, site_customization)[kaynak]¶
Bases:
QObject
Grafik kullanıcı arayüzüne alınabilecek bir “eylemi” temsil eden bir eklenti. Araç çubuğundaki tüm öğeler ve içerik menüsü bu eklentilerce uygulanır.
Bu sınıfın bu eklentiler için taban sınıf olduğunu unutmayın, ancak, eklentiyi calibre’nin eklenti sistemiyle birleştirmek için, asıl eklentiye referans eden bir kapsayıcı sınıf yapmalısınız. Örnekler için
calibre.customize.builtins
modülüne göz atın.İki
InterfaceAction
nesnesi aynı isme sahipse, yüksek öncelikli olan önce gelir.Sub-classes should implement the
genesis()
,library_changed()
,location_selected()
,shutting_down()
,initialization_complete()
andtag_browser_context_action()
methods.İlklendirildikten sonra, bu eklentinin
gui
üyesi ile ana calibre GUI’sine erişimi vardır. Diğer eklentilere isimle erişebilirsiniz, örneğin:self.gui.iactions['Save To Disk']
Asıl eklentiye erişmek için,
interface_action_base_plugin
özniteliğini kullanın, bu öznitelik yalnızca eklenti kendisi ilklendirildiğinde kullanılabilir olur. do_user_config() gibi eklenti sınıfından metodlar kullanmak istediğinizde faydalıdır.action_spec
tarafından belirtilen QActionself.qaction
olarak otomatik olarak oluşturulur ve kullanılabilir.- name = 'Implement me'¶
Eklenti adı. Aynı isme sahip iki eklenti varsa, yüksek öncelikli olan seçilir.
- priority = 1¶
Eklenti önceliği. Aynı isme sahip iki eklenti varsa, yüksek öncelikli olan seçilir.
- popup_type = 1¶
Bu eklentinin araç çubuğuna eklenmesi durumu için menü açılır pencere türü
- auto_repeat = False¶
Bu eylemin kısayol tuşu basılı tutulduğunda otomatik olarak yinelenip yinelenmeyeceği.
- action_spec = ('text', 'icon', None, None)¶
Of the form: (text, icon_path, tooltip, keyboard shortcut). icon, tooltip and keyboard shortcut can be None. keyboard shortcut must be either a string, None or tuple of shortcuts. If None, a keyboard shortcut corresponding to the action is not registered. If you pass an empty tuple, then the shortcut is registered with no default key binding.
- action_shortcut_name = None¶
If not None, used for the name displayed to the user when customizing the keyboard shortcuts for the above action spec instead of action_spec[0]
True ise, bir menü self.qaction’a otomatik olarak oluşturulur ve eklenir
True ise, self.qaction’un bir kopyası self.qaction’un menüsüne eklenir. Bu eylemin metninin self.qaction’dakinden farklı olmasını isterseniz, bu değişkeni yeni metne ayarlayın
- dont_add_to = frozenset({})¶
Bu eylemin eklenmemesi gereken konumlar kümesi. Muhtemel konumlar listesi için :attr:`all_locations`a göz atın
- dont_remove_from = frozenset({})¶
Bu eylemin çıkarılmaması gereken konumlar kümesi. Muhtemel konumlar listesi için :attr:`all_locations`a göz atın
- action_type = 'global'¶
‘current’ türünden bir eylem mevcut görünüm üzerinde hareket, ‘global’ ise mevcut görnüm değil bir bütün olarak calibre üzerinde hareket anlamına gelir
- accepts_drops = False¶
True ise, bu interfaceAction sürükle bırak eylemleriyle etkileşme şansına sahip olacaktır. Detaylar için
accept_enter_event()
, :meth`:accept_drag_move_event`,drop_event()
metodlarına göz atın.
- accept_enter_event(event, mime_data)[kaynak]¶
Bu metod bu arayüz eylemi sürükleme olayını yapabilme becerisine sahipse True döndürmeli. Olayda kabul et/göz ardı et çağırmayın, bu calibre UI’si tarafından halledilir.
- accept_drag_move_event(event, mime_data)[kaynak]¶
Bu metod bu arayüz eylemi sürükleme olayını yapabilme becerisine sahipse True döndürmeli. Olayda kabul et/göz ardı et çağırmayın, bu calibre UI’si tarafından halledilir.
- drop_event(event, mime_data)[kaynak]¶
Bu metod bazı kullanışlı eylemler gerçekleştirmeli ve bu arayüz bırak eylemini yapabilme becerisine sahipse True döndürmeli. Olayda kabul et/göz ardı et çağırmayın, bu calibre UI’si tarafından halledilir. Bu fonksiyonda engelleyici/uzun işlemler yapmayın. Bunun yerine bir sinyal yayın veeya bir QTimer.singleShot kullanın ve çabucak dönün. Örnekler için dahili eylemlere göz atabilirsiniz.
Convenience method to easily add actions to a QMenu. Returns the created QAction. This action has one extra attribute calibre_shortcut_unique_name which if not None refers to the unique name under which this action is registered with the keyboard manager.
- Parametreler:
menu – Yeni oluşturulan eylemin ekleneceği QMenu
unique_name – A unique name for this action, this must be globally unique, so make it as descriptive as possible. If in doubt, add an UUID to it.
text – Eylem metni.
icon – Either a QIcon or a file name. The file name is passed to the QIcon.ic() builtin, so you do not need to pass the full path to the images folder.
shortcut – Bir karakter dizisi, karakter dizisi listesi, None veya False. False ise, bu eylem için klavye kısayolu kaydedilmez. None ise, varsayılan bağlayıcısı olmayan bir klavye kısayolu kaydedilir. Karakter dizisi ve karakter dizisi listeleri belirtilen varsayılan tuş atamasını kaydeder.
description – Bu eylem için tanım. Araç ipuçlarını ayarlamak için kullanılır.
triggered – Oluşturulan eylemin tetiklenen sinyaline bağlanmak üzere bir çağrılabilir.
shortcut_name – The text displayed to the user when customizing the keyboard shortcuts for this action. By default it is set to the value of
text
.persist_shortcut – Shortcuts for actions that don’t always appear, or are library dependent, may disappear when other keyboard shortcuts are edited unless
`persist_shortcut`
is set True.
- load_resources(names)[kaynak]¶
Bu eklenti bir ZIP dosyasıyla gelirse (kullanıcı tarafından eklenmiş eklenti), bu metod ZIP dosyasından kaynakları yüklemenizi sağlar.
Örneğin bir resmi yüklemek için:
pixmap = QPixmap() pixmap.loadFromData(tuple(self.load_resources(['images/icon.png']).values())[0]) icon = QIcon(pixmap)
- Parametreler:
names – Ayırıcı olarak / kullanılarak ZIP dosyasındaki kaynaklara giden yolların listesi
- Dönüşler:
A dictionary of the form
{name : file_contents}
. Any names that were not found in the ZIP file will not be present in the dictionary.
- genesis()[kaynak]¶
Bu eklentiyi kur. Yalnızca ilklendirme aşamasında bir kere çağrılır. self.gui kullanılabilirdir.
action_spec
tarafından belirtilen eylemself.qaction
ile kullanılabilir.
- location_selected(loc)[kaynak]¶
Calibre’de gösterilen kitap listesi her değiştiğinde çağrılır. Şu an loc için değerler:
kitaplık, ana, kart ve kartb
.Bu metod bu eylemi ve alt eylemlerini konuma uygun olarak açmalı/kapamalı.
- library_about_to_change(olddb, db)[kaynak]¶
Mevcut kitaplık değiştiğinde çağrılır.
- Parametreler:
olddb – The LibraryDatabase corresponding to the previous library.
db – The LibraryDatabase corresponding to the new library.
- library_changed(db)[kaynak]¶
Mevcut kitaplık değiştiğinde çağrılır.
- Parametreler:
db – Mevcut kitaplığa karşılık gelen LibraryDatabase.
- gui_layout_complete()[kaynak]¶
Ana GUI’nin yerleşimi tamamlandığında her eylem için bir kere çağrılır. Eyleminiz yerleşimde değişiklik yapmalıysa, bu değişiklikler
initialization_complete()
yerine burada olmalıdır.
- initialization_complete()[kaynak]¶
Ana GUI ilklendirmesi bittiğinde her eylem için bir kere çağrılır.
- tag_browser_context_action(index)[kaynak]¶
Called when displaying the context menu in the Tag browser.
index
is the QModelIndex that points to the Tag browser item that was right clicked. Test it for validity with index.valid() and get the underlying TagTreeItem object with index.data(Qt.ItemDataRole.UserRole). Any action objects yielded by this method will be added to the context menu.
- class calibre.customize.InterfaceActionBase(*args, **kwargs)[kaynak]¶
Temeller:
Plugin
- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- author = 'Kovid Goyal'¶
Eklentinin yazarı
- type = 'Kullanıcı arayüzü eylemi'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- can_be_disabled = False¶
False ise, kullanıcının bu eklentiyi kapatma şansı olmayacaktır. Dikkatli kullanın.
Preferences plugins¶
- class calibre.customize.PreferencesPlugin(plugin_path)[kaynak]¶
Temeller:
Plugin
Tercihler iletişim penceresinde gösterilen bir parçacığı temsil eden eklenti.
Bu eklentinin sadece bir önemli metodu var
create_widget()
. Eklentinin çeşitli alanları UI’de nasıl kategorilendiğini kontrol eder.- supported_platforms = ['windows', 'osx', 'linux']¶
Bu eklentinin çalıştığı platformların listesi. Örneğin:
['windows', 'osx', 'linux']
- author = 'Kovid Goyal'¶
Eklentinin yazarı
- type = 'Tercihler'¶
Eklenti türü. Eklentileri GUI’de kategorize etmek için kullanılır
- can_be_disabled = False¶
False ise, kullanıcının bu eklentiyi kapatma şansı olmayacaktır. Dikkatli kullanın.
- config_widget = None¶
ConfigWidget adında ConfigWidgetInterface’yi uygulayan sınıfı içeren modüle yolu içe aktar.
create_widget()
tarafından kullanılır.
- name_order = 100¶
Bu eklentinin :attr:`gui_name`si bir kategorideki isimler listesinde nerede bulunmalı
- category = None¶
Bu eklentinin bulunması gereken kategori
- gui_category = None¶
Bu eklenti için kullanıcıya gösterilecek kategori ismi
- gui_name = None¶
Bu eklenti için kullanıcıya gösterilecek isim
- icon = None¶
Eklenti simgesi, mutlak yol olmalıdır
- description = None¶
Araç ipuçları ve benzerleri için kullanılacak tanımlama
- create_widget(parent=None)[kaynak]¶
Bu tercih grubunu ayarlamak için kullanılan asıl Qt parçacığını oluştur ve döndür. Parçacık :class:`calibre.gui2.preferences.ConfigWidgetInterface`yi uygulamalıdır.
Varsayılan uygulama parçacığı ilklendirmek için
config_widget
kullanır.
- class calibre.gui2.preferences.ConfigWidgetInterface[kaynak]¶
Bu sınıf Tercihler iletişim penceresinde gösterilen tüm parçacıkların uygulaması gereken arayüzü tanımlar. Bu arayüzü uygulayan ve çeşitli kolaylık sağlayıcı metod tanımlayan
ConfigWidgetBase
taban sınıfına göz atın.- changed_signal = None¶
Bu sinyal kullanıcı bu parçacıkta her değişiklik yaptığında yayılmalıdır
- supports_restoring_to_defaults = True¶
restore_to_defaults()
metodu uygulanmışsa True olarak ayarla.
- restore_defaults_desc = "Varsayılan ayarları yükle. Bu işlemi tamamlamak için Tamam'a tıklamalısınız."¶
“Varsayılanları geri yükle” düğmesine ilişkin ipucu
- restart_critical = False¶
True ise Tercihler iletişim penceresi kullanıcının daha fazla tercih ayarlamasına izin vermez. Yalnızca
commit()
True döndürdüğünde etkilidir.
- genesis(gui)[kaynak]¶
Parçacık görüntülenmeden önce bir kere çağrılır, gerekli tüm kurulumu gerçekleştirmelidir.
- Parametreler:
gui – Ana calibre grafik kullanıcı arayüzü
- initialize()[kaynak]¶
Tüm yapılandırma değerlerini başlangıç değerlerine (yapılandırma dosyalarında saklanan değerler) ayarlamanız gerekir. Bir “return” ifadesi isteğe bağlıdır. İletişim kutusunun gösterilmemesi durumunda False değerini döndürün.
- commit()[kaynak]¶
Değişen ayarları kaydet. Değişiklikler yeniden başlatma gerektiriyorsa True döndür, aksi halde False. Bir hata olduğunu belirtmek için bir
AbortCommit
istisnası yükselt. Hatanın ne olduğu ve nasıl düzeltileceğiyle ilgili kullanıcıya bilgi vermek sizin sorumluluğunuzdadır.
- class calibre.gui2.preferences.ConfigWidgetBase(parent=None)[kaynak]¶
Kolayca standart kontrol kutuları, açılır kapanır kutular, metin alanları benzeri parçacıklar eklemek için kod içeren temel sınıf.
register()
metoduna göz atın.Bu sınıf kaydedilen ayarlar için bildirim değişikliği, varsayılana geri dönme, gui nesneleri ve ayar nesneleri arası geçişleri vs. otomatik yönetir.
Eğer yapılandırma parçacığınız bu sınıftan türemiş fakat kaydedilmemiş ayarlar içeriyorsa,
ConfigWidgetInterface
metodlarını ezmeli ve ezilen metodlar içinden taban sınıfın metodlarını çağırmalısınız.- changed_signal¶
Bu sinyal kullanıcı bu parçacıkta her değişiklik yaptığında yayılmalıdır
- supports_restoring_to_defaults = True¶
restore_to_defaults()
metodu uygulanmışsa True olarak ayarla.
- restart_critical = False¶
True ise Tercihler iletişim penceresi kullanıcının daha fazla tercih ayarlamasına izin vermez. Yalnızca
commit()
True döndürdüğünde etkilidir.
- register(name, config_obj, gui_name=None, choices=None, restart_required=False, empty_string_is_None=True, setting=<class 'calibre.gui2.preferences.Setting'>)[kaynak]¶
Bir ayar kaydet.
- Parametreler:
name – Ayar adı
config_obj – Ayarı okuyan/yazan yapılandırma nesnesi
gui_name – Ayarın değiştirilebilmesi için bir arayüz sunan GUI nesnesinin adı. Varsayılan olarak
'opt_' + isim
beklenir.choices – Bu ayar çoklu seçim (açılır kutu) temelli bir ayarsa, seçimler listesi. Liste
[(gui ismi, değer), ...]
şeklinde ikili demetler listesidirsetting – Bu ayarı yönetmekle sorumlu sınıf. Varsayılan sınıf nerdeyse tüm durumları ele alır, yani bu parametre nadiren kullanılır.
- initialize()[kaynak]¶
Tüm yapılandırma değerlerini başlangıç değerlerine (yapılandırma dosyalarında saklanan değerler) ayarlamanız gerekir. Bir “return” ifadesi isteğe bağlıdır. İletişim kutusunun gösterilmemesi durumunda False değerini döndürün.