Veri tabanı arayüzü için API belgelendirmesi¶
Bu API süreç güvenlidir (çoklu okuma, tekil yazmalı kitleme şeması kullanır). API’ye şu şekilde erişebilirsiniz:
from calibre.library import db
db = db('Path to calibre library folder').new_api
Eğer ana calibre GUI’sinin bir parçası olan bir calibre eklentisi içindeyseniz, erişimi şu şekilde sağlayabilirsiniz:
db = self.gui.current_db.new_api
- class calibre.db.cache.Cache(backend, library_database_instance=None)[kaynak]¶
Calibre kitaplığındaki bir metadata.db dosyasının bellekteki zulası. Bu sınıf ayrıca veri tabanına erişmek için süreç güvenli bir API olarak hizmet verir. Bellekteki zula en iyi performans için normal biçiminde devam ettirilir.
SQLITE metadata.db’den kararlı şekilde okuma yazma yapma yöntemi olarak kullanılır. Tüm tablo okuma/sıralama/arama/zulalama mantığı tekrar uygulanmıştır. Bu işlem en iyi performans ve esneklik için gerekliydi.
- class EventType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- book_created = 4¶
Veritabanında kitap kimliğinin tek argüman olduğu yeni bir kitap kaydı oluşturulduğunda
- book_edited = 8¶
Bir kitap biçimi bağımsız değişkenlerle düzenlendiğinde: (book_id, fmt)
- books_removed = 5¶
Kitaplar veritabanından tek argüman olarak kitap kimlikleri listesiyle kaldırıldığında
- format_added = 2¶
Bir kitaba şu argümanlarla bir biçim eklendiğinde: (book_id, format)
- formats_removed = 3¶
Biçimler bir kitaptan bağımsız değişkenlerle kaldırıldığında: (kitap kimliğinin kitaptan kaldırılan formatlar kümesiyle eşleştirilmesi)
- indexing_progress_changed = 9¶
Dizin oluşturma ilerlemesi değiştiğinde
- items_removed = 7¶
Bazı kitaplardan etiket veya yazar gibi öğeler kaldırıldığında. Bağımsız Değişkenler: (field_name, etkilenen kitap kimlikleri, kaldırılan öğelerin kimlikleri)
- items_renamed = 6¶
Etiketler veya yazarlar gibi öğeler kitapların bazılarında veya tümünde yeniden adlandırıldığında. Bağımsız Değişkenler: (alan_adı, etkilenen kitap kimlikleri, eski öğe kimliğinin yeni öğe kimliğiyle eşleştirilmesi)
- metadata_changed = 1¶
Bazı kitaplar için bazı meta veriler bağımsız değişkenlerle değiştirildiğinde: (değiştirilen alanın adı, etkilenen kitap kimlikleri kümesi)
- add_books(books, add_duplicates=True, apply_import_tags=True, preserve_uuid=False, run_hooks=True, dbapi=None)[kaynak]¶
Belirtilen kitapları kitaplığa ekle. Kitaplar, mi bir Metadata nesnesi ve format_map
{fmt: path_or_stream}
biçiminde bir sözlük nesnesi olmak üzere her biri(mi, format_map)
biçiminde olan 2-tuple’ın yinelenebiliri olmalıdır, örneğin:{'EPUB': '/path/to/file.epub'}
.Bir çift liste döndürür:
ids, duplicates
.ids
ver tabanında yeni oluşturulan tüm kitapların kitap id’lerini içerir.duplicates
veri tabanında zaten mevcut olan vehas_book()
tarafından kullanılan basit çift algılama sezgiseline göre(mi, format_map)
içerir.
- add_custom_book_data(name, val_map, delete_first=False)[kaynak]¶
val_map book_ids’in değerlere haritası olmak üzere isimler için veri ekle. delete_first True ise, isim için daha önce kaydedilen tüm veri silinir.
- add_extra_files(book_id, map_of_relpath_to_stream_or_path, replace=True, auto_rename=False)[kaynak]¶
Ekstra veri dosyaları ekleyin
- add_format(book_id, fmt, stream_or_path, replace=True, run_hooks=True, dbapi=None)[kaynak]¶
Belirtilen kitaba bir biçim ekle. Biçim başarıyla eklenmişse Doğru olarak döndür.
- Parametreler:
replace – True ise varolan biçimi değiştir, eğer biçim zaten mevcutsa, False döndür.
run_hooks – True ise, dosya türü eklentiler eklendikten önce ve sonra biçim üzerinde çalıştırılır.
dbapi – Sadece dahili kullanım için.
- add_listener(event_callback_function, check_already_added=False)[kaynak]¶
Bu veritabanında belirli eylemler gerçekleştirildikten sonra çağrılacak bir geri çağırma işlevini kaydedin. İşlev üç bağımsız değişken almalıdır: (:sınıf:`EventType`, kitaplık_id, olay_tipi_özel_veri)
- add_notes_resource(path_or_stream_or_data, name: str, mtime: float = None) int [kaynak]¶
Add the specified resource so it can be referenced by notes and return its content hash
- all_annotations(restrict_to_user=None, limit=None, annotation_type=None, ignore_removed=False, restrict_to_book_ids=None)[kaynak]¶
Return a tuple of all annotations matching the specified criteria. ignore_removed controls whether removed (deleted) annotations are also returned. Removed annotations are just a skeleton used for merging of annotations.
- all_annotations_for_book(book_id)[kaynak]¶
Return a tuple containing all annotations for the specified book_id as a dict with keys: format, user_type, user, annotation. Here, annotation is the annotation data.
- all_field_for(field, book_ids, default_value=None)[kaynak]¶
field_for’un aynısı, farkı birden ço kitap üstünde tek seferde çalışması
- all_field_names(field)[kaynak]¶
Tüm alan isimlerinin dondurulmuş kümesi (sadece çoktan-bire ve çoktan-çoka alanlarda kullanılmalı)
- annotation_count_for_book(book_id)[kaynak]¶
Return the number of annotations for the specified book available in the database.
- annotations_map_for_book(book_id, fmt, user_type='local', user='viewer')[kaynak]¶
Return a map of annotation type -> annotation data for the specified book_id, format, user and user_type.
- author_data(author_ids=None)[kaynak]¶
Yazar verisini isim, sıralama, bağlantı anahtarlarından oluşan sözlük olarak döndür
Belirtilen id’ye sahip yazar bulunamazsa boş bör sözlük döndürülür. author_id None ise, tüm authorların verisi döndürülür.
- author_sort_from_authors(authors, key_func=<function make_change_case_func.<locals>.change_case>)[kaynak]¶
Verilen bir yazar listesinden hesaplanan karakter dizisi üstündeki yazarla bağlantılı yazarı tercih ederek yazarlar için author_sort karakter dizisini döndür.
- books_for_field(name, item_id)[kaynak]¶
Öğe
name
alanına ait olmak üzere,item_id
ile tanımlı öğe ile bağlantılı tüm kitapları döndür.Döndürülen değer kitap id’leri kümesi, veya öğe veya alan mevcut değilse boş bir kümedir.
- books_in_virtual_library(vl, search_restriction=None, virtual_fields=None)[kaynak]¶
Belirlenen sanal kitaplıktaki kitap setini döndürür
- compress_covers(book_ids, jpeg_quality=100, progress_callback=None)[kaynak]¶
Belirtilen kitapların kapak resimlerini sıkıştırın. 100 sıkıştırma kalitesi, kayıpsız sıkıştırma gerçekleştirir, aksi takdirde kayıplı sıkıştırma gerçekleştirir.
İlerleme geri çağrısı, işlenen her kitap içinbook_id ve eski ve yeni boyutlarla çağrılacaktır. Bir hata oluşursa yeni boyut, hata ayrıntılarını içeren bir dize olacaktır.
- copy_cover_to(book_id, dest, use_hardlink=False, report_file_size=None)[kaynak]¶
Kapağı dosya benzeri nesne ``dest``e kopyala. Kapak mevcut değilse veya dest mevcut kapakla aynı dosya ise False döndürür. dest, yalnızca yol mevcut yoldan farklı ise kapağın içine kopyalandığı bir yol olabilir (büyük küçük harf duyarlılığı da dikkate alınarak).
- copy_format_to(book_id, fmt, dest, use_hardlink=False, report_file_size=None)[kaynak]¶
Fmt
biçimini,dest
nesnesi gibi bir dosyaya kopyalayın. Belirtilen format mevcut değilseNoSuchFormat
hatası ortaya çıkar. hedef aynı zamanda bir yol da olabilir (bir dosyaya), bu durumda yol geçerli yoldan farklıysa (büyük/küçük harf duyarlılığı dikkate alınarak) format ona kopyalanır.
- cover(book_id, as_file=False, as_image=False, as_path=False, as_pixmap=False)[kaynak]¶
Kapak resmini veya None döndür. Varsayılan olarak kapağı bytestring olarak döndürür.
UYARI: as_path kullanmak kapağı geçici bir dosyaya kopyalar ve geçici dosyanın yolunu döndürür. İşiniz bittiğinde geçici dosyayı silmelisiniz.
- Parametreler:
as_file – True ise resmi bir açık dosya nesnesi (SpooledTemporaryFile) olarak döndür
as_image – True ise resmi bir QImage nesnesi oalrak döndür
as_pixmap – True ise görüntüyü bir QPixmap nesnesi olarak döndürür
as_path – True ise resmi geçici bir dosyaya işaret eden yol olarak döndür
- data_for_find_identical_books()[kaynak]¶
db’ye erişimi olmayan bir işçi süreçte
find_identical_books()
uygulamak için kullanılabilecek veriyi döndür.
- data_for_has_book()[kaynak]¶
has_book()
içinde kullanmaya müsait veri döndür. Bu işlem db’ye erişimi olmayan bir işçi süreçtehas_book()
uygulamak için kullanılabilir.
- delete_custom_book_data(name, book_ids=())[kaynak]¶
İsim için veriyi sil. Varsayılan olarak tüm veri silinir, yalnızca bazı kitap id’leri için veriyi silmek istiyorsanız, kitap id listesi verin.
- delete_trash_entry(book_id, category)[kaynak]¶
Çöp kutusundan bir girişi silin. Burada kategori kitaplar için ‘b’ ve formatlar için ‘f’dir.
- embed_metadata(book_ids, only_fmts=None, report_error=None, report_progress=None)[kaynak]¶
Belirtilen book_id’lerinin tüm biçimleri içindeki metadata’yı mevcut veri tabanına güncelle.
- export_note(field, item_id) str [kaynak]¶
Export the note as a single HTML document with embedded images as data: URLs
- fast_field_for(field_obj, book_id, default_value=None)[kaynak]¶
field_for ile aynı, yalnızca alan nesnesini almak için fazladan arama yapmaktan kaçınır
- field_for(name, book_id, default_value=None)[kaynak]¶
book_id
ile belirtilen kitap içinname
alanının değerini döndür. Böyle bir kitap mevcut değilse veyaname
alanı için belirtilmiş bir değer yoksa veya böyle bir alan yoksadefault_value
döndürülür.default_value
title, title_sort, authors, author_sort ve series_index için kullanılmaz. Bunun sebebi bunları hep db’de değerleri olmasıdır. ``default_value``tüm özel sütunlar için kullanılır.is_multiple alanları için döndürülen değer, hiçbir değer bulunmasa bile her zaman tanımlama gruplarıdır (başka bir deyişle, default_value göz ardı edilir). Bunun istisnası, döndürülen değerin her zaman bir sözlük olduğu tanımlayıcılardır. Döndürülen demetler her zaman bağlantı sırasına, yani oluşturuldukları sıraya göredir.
- field_ids_for(name, book_id)[kaynak]¶
name
alanınınbook_id
ile tanımlanan kitaptaki değerleri için id’leri (demet olarak) döndür. Bir değer yoksa, ya da böyle bir kitap yoksa, veya böyle bir alan yoksa, boş bir demet döndürülür.
- field_supports_notes(field=None) bool [kaynak]¶
Return True iff the specified field supports notes. If field is None return frozenset of all fields that support notes.
- find_identical_books(mi, search_restriction='', book_ids=None)[kaynak]¶
Mi’deki yazarların üst setine sahip ve aynı başlıklı (başlıklarda bulanık eşleşme kullanılır) kitapları bulur. Ayrıca
data_for_find_identical_books()
göz atın.
- format(book_id, fmt, as_file=False, as_path=False, preserve_filename=False)[kaynak]¶
E-kitap biçimini bytestring olarak ya da biçim mevcut değilse, veya e-kitap dosyasına yazmaya yetkimiz yoksa None olarak döndür.
- Parametreler:
as_file – True ise e-kitap biçimi dosya nesnesi olarak döndürülür. Dosya nesnesinin SpooledTemporaryFile olduğunu not edin, yani biçimi başka bir dosyaya kopyalamak istiyorsanız performans için bunun yerine
copy_format_to()
kullanın.as_path – Biçim dosyasını geçici bir dosyaya kopyalar ve geçici dosyanın yolunu döndürür
preserve_filename – True ise ve bir yol döndürüyorsa, dosya adı kitaplıkta kullanılanla aynıdır. Bunun kullanımının tekrar kullanımlarda aynı geçici dosyayı döndüreceğini not edin (her seferinde tekrar oluşturulan)
- format_abspath(book_id, fmt)[kaynak]¶
format biçimindeki e-kitap için mutlak yolu döndür. API’nin iş ipi güvenliğini kırdığından bunu hemen hemen hiç kullanmamalısınız. Bunun yerine
copy_format_to()
kullanın.Şu anda yalnızca calibredb listesinde, görüntüleyicide, kitap düzenlemede, orijinal formatla karşılaştırma_formatında, birlikte açmada, toplu meta veri düzenlemede ve kataloglarda (get_data_as_dict() aracılığıyla) kullanılmaktadır.
Görüntüleyici, birlikte aç ve kitap düzenleden ayrı olarak, diğerlerinin bu çağrı sonucu herhangi bir dosya yazma G/Ç yaptıklarını sanmıyorum.
- format_hash(book_id, fmt)[kaynak]¶
Belirtilen kitap için belirtilen biçimin özetini döndür. Özet türü arka uca bağlıdır, ama genellikle SHA-256’dır.
- format_metadata(book_id, fmt, allow_cache=True, update_db=False)[kaynak]¶
Belirtilen kitap için belirtilen biçimin yolunu, boyutunu ve değiştirilme zamanını döndürür. İlla kullanmanız gerekmiyorsa yolu kullanmamalısınız, çünkü yola erişmek bu API’nin iş ipi güvenliğini bozar. Bunun yerine
copy_format_to()
metodunu kullanın.- Parametreler:
allow_cache –
True
ise zuladaki değerler kullanılır, aksi halde yavaş bir dosya sistemine erişim gerçekleşir. Zula değerleri bu API dışından dosya sistemine erişildiyse eski olabilir.update_db –
True
ise veri tabanındaki max_size alanı bu kitap için güncellenmiştir.
- formats(book_id, verify_formats=True)[kaynak]¶
Belirtilen kitap için tüm biçimlerin demetini getir. verify_formats True ise, dosyanın diskte var olduğunu da doğrular.
- get_all_items_that_have_notes(field_name=None) set[int] | dict[str, set[int]] [kaynak]¶
Return all item_ids for items that have notes in the specified field or all fields if field_name is None
- get_all_link_maps_for_book(book_id)[kaynak]¶
Book_id tarafından tanımlanan kitabın başvuruda bulunduğu tüm alanların tüm bağlantılarını döndürür. Book_id mevcut değilse yöntem {} değerini döndürür.
Örnek: A yazarının X bağlantısına, B yazarının Y bağlantısına, S etiketinin F bağlantısına ve T etiketinin G bağlantısına sahip olduğunu varsayalım. Kitap 1’de yazar A ve T etiketi varsa, bu yöntem şunu döndürür: {‘yazarlar’:{‘A’ :’X’}, ‘etiketler’:{‘T’, ‘G’}}. 2. kitabın yazarı ne A ne de B ise ve etiketi yoksa, bu yöntem {} değerini döndürür.
- Parametreler:
book_id – söz konusu kitap kimliği.
- Dönüşler:
{field: {field_value, link_value}, … o kitap için boş olmayan bağlantı değerine sahip alan_değeri olan tüm alanlar için
- get_categories(sort='name', book_ids=None, already_fixed=None, first_letter_sort=False)[kaynak]¶
Etiket Tarayıcıyı uygulamak için dahili olarak kullanılır
- get_custom_book_data(name, book_ids=(), default=None)[kaynak]¶
İsim için veri alır. Varsayılan olarak tüm book_id’leri için veriyi döndürür, sadece bazı veriler lazımsa kitap id’si listesi verin. book_id’den değere harita döndürür. Belli bir değerin kodu çözülemezse, varsayılan değerini kullanır.
- get_id_map(field)[kaynak]¶
Belirtilen alan için id numaralarından değerlere harita döndür. Alan bir çoktan teke veya çoktan çoka alan olmalıdır, aksi durumda ValueError yükseltilir.
- get_item_id(field, item_name, case_sensitive=False)[kaynak]¶
Return the item id for item_name or None if not found. This function is very slow if doing lookups for multiple names use either get_item_ids() or get_item_name_map(). Similarly, case sensitive lookups are faster than case insensitive ones.
- get_item_ids(field, item_names, case_sensitive=False)[kaynak]¶
Return a dict mapping item_name to the item id or None
- get_item_name(field, item_id)[kaynak]¶
Belirtilen alanda item_id ile belirtilen öğe için öğe ismini döndür. Ayrıca bknz
get_id_map()
.
- get_link_map(for_field)[kaynak]¶
Sağlanan alan için bağlantıların sözlüğünü döndürün.
- Parametreler:
for_field – bağlantı haritasının istendiği alanın arama adı
- Dönüşler:
Boş olmayan bağlantılar için {field_value:link_value, …}
- get_metadata(book_id, get_cover=False, get_user_categories=True, cover_as_data=False)[kaynak]¶
kitap_id ile belirtilen üstveriyi :sınıf:`calibre.ekitaplar.üstveri.kitap.temel.Üstveri` nesnesi olarak döndür. Biçim listesinin doğrulanmadığını dikkate alın. Eğer kapak_al Doğru ise, kapak, ya mi.kapak olarak geçici dosyaya yol olarak ya da eğer kapak_veri_olarak Doğru ise o zaman mi.kapak_veri olarak döndürülür.
- get_next_series_num_for(series, field='series', current_indices=False)[kaynak]¶
Sıradaki seri numara üretecini kontrol eden çeşitli tercihleri hesaba katarak belirtilen seriler için sıradaki seri indisini döndür,.
- Parametreler:
field – Seriler benzeri alan (yerleşik seriler sütunu varsayılır)
current_indices – True ise, book_id’den mevcut series_index değerine harita döndürür.
- get_notes_resource(resource_hash) dict | None [kaynak]¶
Return a dict containing the resource data and name or None if no resource with the specified hash is found
- get_proxy_metadata(book_id)[kaynak]¶
Veri tabanından değerleri yalnızca istek üstüne okuyan bir ProxyMetadata nesnesi döndürmesi dışında
get_metadata()
gibidir. get_metadata’dan döndürülen metadata nesnesinden az sayıda alana erişilmesi gerektiğinde oldukça hızlıdır.
- get_usage_count_by_id(field)[kaynak]¶
Çoktan teke veya çoktan çoka alan olmak üzere belirtilen alanın tüm değerleri için id’den kullanım sayısına harita döndür.
- has_book(mi)[kaynak]¶
Veritabanı verilen Metadata nesnesiyle aynı başlığa sahip bir girdi içeriyorsa True döndürür. Karşılaştırma büyük küçük harf duyarsızdır. Ayrıca bknz
data_for_has_book()
.
- import_note(field, item_id, path_to_html_file, path_is_data=False)[kaynak]¶
Import a previously exported note or an arbitrary HTML file as the note for the specified item
- items_with_notes_in_book(book_id: int) dict[str, dict[int, str]] [kaynak]¶
Return a dict of field to items that have associated notes for that field for the specified book
- link_for(field, item_id)[kaynak]¶
Return the link, if any, for the specified item or None if no link is found
- list_extra_files(book_id, use_cache=False, pattern='') Tuple[ExtraFile, ...] [kaynak]¶
Kitabın dizinindeki ekstra dosyalar hakkında bilgi alın.
- Parametreler:
book_id – kitabın veritabanı kitap kimliği
pattern – aranacak dosya adlarının düzeni. Boş desen tüm ekstra dosyalarla eşleşir. Desenlerde ayırıcı olarak / kullanılmalıdır. Veri dizini içindeki dosyaları eşleştirmek için DATA_FILE_PATTERN sabitini kullanın.
- Dönüşler:
Belirtilen kalıpla eşleşen tüm ekstra dosyalardan oluşan bir grup. Tuple’ın her öğesi ExtraFile(relpath, file_path, stat_result) şeklindedir. Burada relpath, ayırıcı olarak / kullanılarak dosyanın kitap dizinine göreli yoludur. stat_result, dosyada os.stat() çağrısının sonucudur.
- merge_annotations_for_book(book_id, fmt, annots_list, user_type='local', user='viewer')[kaynak]¶
Merge the specified annotations into the existing annotations for book_id, fm, user_type, and user.
- merge_extra_files(dest_id, src_ids, replace=False)[kaynak]¶
Ekstra dosyaları src_ids’den dest_id’ye birleştirin. Çakışan dosyalar, change=True olmadığı sürece otomatik olarak yeniden adlandırılır; bu durumda dosyalar değiştirilir.
- multisort(fields, ids_to_sort=None, virtual_fields=None)[kaynak]¶
Sıralanmış kitap id’leri listesi döndür. ids_to_sort None ise, tüm kitap id’leri döndürülür.
Alanlar (field_name, ascending=True veya False) biçiminde 2’li demet listesi olmalıdır. En önemli alan ilk ikili demettir.
- notes_data_for(field, item_id) str [kaynak]¶
Return all notes data as a dict or None if note does not exist
- notes_resources_used_by(field, item_id)[kaynak]¶
Return the set of resource hashes of all resources used by the note for the specified item
- pref(name, default=None, namespace=None)[kaynak]¶
Belirtilen özellik için değeri ya da tercih belirtilmemişse
default
olarak belirtilen değeri döndür.
- read_backup(book_id)[kaynak]¶
Kitap için OPF metadata yedeğini bytestring olarak veya böyle bir backup yoksa None olarak döndür.
- remove_books(book_ids, permanent=False)[kaynak]¶
Book_ids tarafından belirtilen kitapları veritabanından kaldırın ve format dosyalarını silin.
Kalıcı
Yanlış ise, format dosyaları kütüphane başına çöp dizinine yerleştirilir.
- remove_formats(formats_map, db_only=False)[kaynak]¶
Seçili biçimleri seçili kitaplardan çıkar.
- Parametreler:
formats_map – Kitaptan çıkarılacak book_id’den biçim listesine harita.
db_only – True ise, biçim kaydını sadece veri tabanından çıkar, asıl biçimi dosya sisteminden silme.
- Dönüşler:
O kitabın dosya sisteminden fiilen silinen formatlar kümesinin kitap kimliğinin haritası
- remove_items(field, item_ids, restrict_to_book_ids=None)[kaynak]¶
Belirtilen alandaki belirtilen kimliğe sahip tüm öğeleri sil. Etkilenen kitap kimlikleri kümesini döndürür.
restrict_to_book_ids
isteğe bağlı kitap kimlikleri listesidir. Eğer belirtilirse öğeler yalnızca bu kitaplardan çıkartılır.
- rename_extra_files(book_id, map_of_relpath_to_new_relpath, replace=False)[kaynak]¶
Ekstra veri dosyalarını yeniden adlandırın
- rename_items(field, item_id_to_new_name_map, change_index=True, restrict_to_book_ids=None)[kaynak]¶
Etiketler veya seriler gibi çoktan teke veya çoktan çoka alanlarından öğeleri yeniden adlandır.
- Parametreler:
change_index – Seri benzeri bir alanı yeniden adlandırırken series_index değerlerini de değiştir.
restrict_to_book_ids – Yeniden adlandırmanın yapılacağı isteğe bağlı kitap kimlikleri kümesi, varsayılan olarak tüm kitaplar.
- restore_book(book_id, mi, last_modified, path, formats, annotations=())[kaynak]¶
Dosya sisteminde mevcut olan bir kitabın veri tabanındaki girdisini geri yükle
- restore_original_format(book_id, original_fmt)[kaynak]¶
Eğer varsa, belirtilen biçimi önceden kaydedilmiş ORIGINAL_FORMAT ile geri yükle. Başarılı olma durumunda True döndür. ORIGINAL_FORMAT başarılı geri yüklemenin ardından silinir.
- property safe_read_lock¶
Güvenli okuma kilidi iş parçacığı zaten bir yazma kilidine sahipse hiçbir şey yapmayan, aksi durumda okuma kilidi edinen kilittir. Arama zulasını bileşik sütunlar önünde güncellerken oluşabilecek DowngradeLockErrors hatalarını önlemek için bu gereklidir. Arama zulasını güncellemek ayrıcalıklı bir kilit tutar, ama bileşik sütun araması paylaşılan bir kilit almaya çalışan ProxyMetadata kullanarak alan değerlerinin okunmasını içerir. Bu durumu tetikleyen başka senaryolar da olabilir.
Bu özellik her erişimde yeni bir kilit nesnesi döndürür. Bu kilit nesnesi yinelemeli değildir (performans için) ve yalnızca
with cache.safe_read_lock:
gibi bir with ifadesiyle kullanılmalıdır, aksi durumda kötü şeyler olacaktır.
- save_original_format(book_id, fmt)[kaynak]¶
Mevcut herhangi ORIGINAL_FORMAT’ın üstüne yazarak belirtilen biçimin kopyasını ORIGINAL_FORMAT olarak keydet.
- search(query, restriction='', virtual_fields=None, book_ids=None)[kaynak]¶
Veri tabanını belirtilen sorgu için ara, eşleşen kitap id’lerini döndür.
- Parametreler:
restriction – Belirtilen sorguya AND yapılan bir kısıtlama. Kısıtlamaların zulalandığını, yani bir a AND b aramasının bir kıstılı b’li a aramasından yavaş olacağını unutmayın.
virtual_fields – Dahili kullanım (aranacak on_device gibi sanal alanlar).
book_ids – None değilse, tüm kitaplar yerine verilen kitapların aranacağı bir kitap id kümesi.
- search_annotations(fts_engine_query, use_stemming=True, highlight_start=None, highlight_end=None, snippet_size=None, annotation_type=None, restrict_to_book_ids=None, restrict_to_user=None, ignore_removed=False)[kaynak]¶
Return of a tuple of annotations matching the specified Full-text query.
- search_notes(fts_engine_query='', use_stemming=True, highlight_start=None, highlight_end=None, snippet_size=None, restrict_to_fields=(), return_text=True, result_type=<class 'tuple'>, process_each_result=None, limit=None)[kaynak]¶
Search the text of notes using an FTS index. If the query is empty return all notes.
- set_annotations_for_book(book_id, fmt, annots_list, user_type='local', user='viewer')[kaynak]¶
Set all annotations for the specified book_id, fmt, user_type and user.
- set_conversion_options(options, fmt='PIPE')[kaynak]¶
seçenekler {book_id:conversion_options} haritası şeklinde olmalıdır
- set_cover(book_id_data_map)[kaynak]¶
Bu kitabın kapağını ayarlayın. Veriler bir QImage, QPixmap, dosya nesnesi veya bayt dizisi olabilir. Ayrıca Hiçbiri de olabilir, bu durumda mevcut kapak kaldırılır.
- set_field(name, book_id_to_val_map, allow_case_change=True, do_path_update=True)[kaynak]¶
name
ile belirtilen alanın değerlerini ayarla. Değişiklikten etkilenen tüm kitap id’lerinin kümesini döndürür.- Parametreler:
book_id_to_val_map – book_id’lerin uygulanacak değerlere haritası.
allow_case_change – True ise, çoktan-bire ve çoktan-çoka alanların büyük küçük harfleri değiştirilir. Örneğin bir kitabın
tag1
etiketi varsa, ve başka bir kitap için etiketiTag1
olarak ayarladıysanız allow_case_change True ise her iki kitap daTag1
etiketine sahip olur, aksi durumda ikisi detag1
etiketine s ahip olacaktır.do_path_update – Dahili kullanım içindir, değiştirmemelisiniz.
- set_link_map(field, value_to_link_map, only_set_if_no_existing_link=False)[kaynak]¶
Alandaki öğe değerlerinin bağlantılarını ayarlar. Not: Bu yöntem, value_to_link_map’te olmayan değerleri değiştirmez
- Parametreler:
field – aranan isim
value_to_link_map – dict(field_value:bağlantı, …). Bunların alan kimlikleri değil, değerler olduğunu unutmayın.
- Dönüşler:
bağlantı ayarlanarak değiştirilen kitaplar
- set_metadata(book_id, mi, ignore_errors=False, force_changes=False, set_title=True, set_authors=True, allow_case_change=False)[kaynak]¶
Metadata nesnesi `mi`den kitap `id`si için metadata ayarla
force_changes=True ayarı mi boş değerler içerse de set_metadata’nın alanları güncellemesine yol açar. Bu durumda ‘None’ ‘boş’dan ayrılmış olur. mi.XXX None ise, XXX yer değiştirilmez, aksi durumda değiştirilir. Etiketler, tanımlayıcılar, ve kapak öznitelikleri özel durumlardır. Etiketler ve tanımlayıcılar None olamayacağından force_changes true ise her zaman yer değiştirilirler. Mi’nin kitapta olmasını istediğiniz değerleri içerdiğinden emin olmalısınız. Kapaklar yeni bir kapak sağlanmışsa hep değiştirilir, ama asla silinmezler. force_changes’in başlık veya yazar ayarlarında etkisi olmadığını da unutmayın.
- set_notes_for(field, item_id, doc: str, searchable_text: str = '', resource_hashes=(), remove_unused_resources=False) int [kaynak]¶
Set the notes document. If the searchable text is different from the document, specify it as searchable_text. If the document references resources their hashes must be present in resource_hashes. Set remove_unused_resources to True to cleanup unused resources, note that updating a note automatically cleans up resources pertaining to that note anyway.
- set_pref(name, val, namespace=None)[kaynak]¶
Belirtilen değere belirtilen seçeneği ayarla. Ayrıca bknz
pref()
.
- split_if_is_multiple_composite(f, val)[kaynak]¶
f bir bileşik sütun arama anahtarıysa ve sütun is_multiple ise v’yi boş olmayan benzersiz değerlere bölün. Karşılaştırma büyük/küçük harfe duyarlıdır. Sipariş korunmadı. Etiketler gibi proxy meta veri alanı alıcılarıyla uyumluluk için bir liste () döndürün.
- tags_older_than(tag, delta=None, must_have_tag=None, must_have_authors=None)[kaynak]¶
Belirtilen zamandan eski
tag
etiketine sahip tüm kitapların id’lerini döndür. etiket karşılaştırma büyük küçük harf duyarsızdır.- Parametreler:
delta – Bir timedelta nesnesi veya None. None ise, etiketli tüm id’ler döndürülür.
must_have_tag – None değilse eşleşme listesi bu etikete sahip kitaplarla kısıtlanır
must_have_authors – Yazarlar listesi. None değilse, eşleşme listesi bu yazarlara sahip kitaplarla kısıtlanacaktır (büyük küçük harf duyarlı).
- unretire_note_for(field, item_id) int [kaynak]¶
Unretire a previously retired note for the specified item. Notes are retired when an item is removed from the database
- user_categories_for_books(book_ids, proxy_metadata_map=None)[kaynak]¶
Belirtilen kitaplar için kullanıcı kategorilerini döndür. proxy_metadata_map kitapların bir ProxyMetadata nesnesine sahip olduğu durumlarda performans artırmak amaçlı kullanılabilir ve tercihe bağlıdır. book_id’lerinin ilgili ProxyMetadata nesnesine haritası olmalıdırlar.