Documentation API pour l’outil d’édition de livre numérique

Les outils d’édition de livre numérique consistent en un objet calibre.ebooks.oeb.polish.container.Container qui représente un livre comme une collection d’HTML + des fichiers ressources, et différents outils qui peuvent être utilisés pour effectuer des opérations sur le conteneur. Tous les outils sont sous forme de fonctions de niveau de module dans les divers modules de calibre.ebooks.oeb.polish.*

Vous obtenez un objet de conteneur pour un livre à un chemin comme ceci:

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

Si vous écrivez une extension pour l”`Éditeur de livre numérique, vous obtenez le conteneur actuel pour le livre étant édité comme ceci:

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

L’objet Conteneur

class calibre.ebooks.oeb.polish.container.Container(rootpath, opfpath, log, clone_data=None)[source]

Un conteneur représente un livre numérique ouvert comme un dossier remplit de fichiers et un fichier OPF. Il y a deux concepts importants :

  • Le répertoire racine. Ceci est la base du livre numérique. Tous les fichiers des livres numériques sont dans ce dossier ou dans ses sous-dossiers.

  • Noms : Ce sont des chemins vers les fichiers de livres relatifs au dossier racine. Ils contiennent toujours des séparateurs POSIX et sont non cotés. Ils peuvent être considérés en tant qu’identificateurs conformes pour les fichiers dans le livre. La plupart des méthodes sur l’objet conteneur fonctionnent avec des noms. Les noms sont toujours sous la forme normale unicode de NFC.

  • Clones : l’objet conteneur soutient le clonage efficace sur disque, qui est employé pour mettre en application des points de contrôle dans l’éditeur de livre numérique. Afin de faire ce travail, vous devriez ne jamais accéder à des dossiers directement sur le système de fichiers. Au lieu de cela, utilisez : meth :raw_data ou open() à la lecture/écriture aux fichiers composants le livre.

En convertissant entre les hrefs et les noms, employez les méthodes fournies par cette classe, elles supposent que tous les hrefs sont cités.

abspath_to_name(fullpath, root=None)[source]

Convertir un fichier absolu vers un nom conforme relatif à root

Paramètres:

root – Le dossier de base. Par défaut la racine de cet objet conteneur est utilisée.

add_file(name, data, media_type=None, spine_index=None, modify_name_if_needed=False, process_manifest_item=None)[source]

Ajouter un fichier à ce conteneur. Les entrées pour le fichier sont automatiquement créées dans la structure organisationnelle et la structure OPF (si le fichier est un document texte)

add_name_to_manifest(name, process_manifest_item=None)[source]

Ajouter une entrée au manifeste pour le fichier avec le nom spécifié. Renvoie l’id du manifeste.

add_properties(name, *properties)[source]

Ajouter les propriétés spécifiées à l’élément du manifeste identifié par le nom.

apply_unique_properties(name, *properties)[source]

Assure que les propriétés spécifiées soient paramétrées uniquement sur l’élément du manifeste spécifié par un nom. Vous pouvez utiliser None comme nom pour supprimer la propriété de tous les éléments.

book_type = 'oeb'

Le type de livre (epub pour les fichiers EPUB et azw3 pour les fichiers AZW3)

commit(outpath=None, keep_parsed=False)[source]

Engager tous les fichiers analysés encrassés vers le système de fichiers et écrire le fichier de livre numérique à outpath.

Paramètres:
  • output – Le chemin où écrire le fichier du livre numérique sauvegardé. Si aucun, le chemin du livre original est utilisé.

  • keep_parsed – Si True les représentations analysées des éléments engagés sont gardées dans le cache.

commit_item(name, keep_parsed=False)[source]

Soumet un objet analysé au disque (il est numéroté et écrit par rapport fichier sous-jacent). Si keep_parsed est True la représentation analysée est maintenue dans le cache. Voir également : :meth :`parsed `

dirty(name)[source]

Marque l’objet correspondant au nom comme impropre. Voir aussi : parsed().

exists(name)[source]

Vrai si et seulement si un fichier/dossier correspondant au nom de référence existe. Notez que cette fonction souffre des limitations du système de fichiers de l’OS sous-jacent, en particulier l”/la (in)sensibilité à la casse. Aussi sur un système de fichiers non sensible à la casse renvoie Vrai même dans le cas où le nom est différent de la casse du système de fichiers sous-jacent. Voir aussi : has_name()

filesize(name)[source]

Renvoie la taille en bytes du fichier représenté par le nom de référence spécifié. Traite automatiquement les objets impropres analysés. Voir aussi : parsed()

generate_item(name, id_prefix=None, media_type=None, unique_href=True)[source]

Ajoute un article au manifeste avec un href dérivé du nom attribué. Assure automatiquement le caractère unique de l’href et de l’id. Revoie l’article généré.

get_file_path_for_processing(name, allow_modification=True)[source]

Similaire à open() excepté qu’il renvoie un chemin de fichier, au lieu d’un objet fichier ouvert.

property guide_type_map

Mappage du type de guide au fichier de référence

has_name(name)[source]

Renvoie Vrai si un fichier avec le même nom de référence que spécifié existe. Contrairement à exists() cette méthode est toujours sensible à la casse.

href_to_name(href, base=None)[source]

Convertir une href (relative à la base) en un nom. La n-base peut être un nom ou Aucun, dans ce cas self.root est utilisé.

insert_into_xml(parent, item, index=None)[source]

Insérer l’article dans le parent (ou apposez si l’index est Aucun), fixant l’indentation. Travaille seulement avec les articles à fermeture automatique.

is_dir = False

Si ce conteneur représente un livre décompressé (un répertoire)

Répéter sur tous les liens dans le nom. Si get_line_numbers est Vrai elle produit un résultat dans la forme (link, line_number, offset). Où line_number est le numéro de ligne où le lien intervient et offset est le nombre de caractères depuis le début de la ligne. Notez que offset pourrait actuellement comprendre plusieurs lignes sinon zéro.

make_name_unique(name)[source]

S’assurer que le nom n’est pas déjà présent dans ce livre. Si c’est le cas, renvoyer une version modifiée qui n’existe pas

manifest_has_name(name)[source]

Renvoie True si le manifeste a une entrée correspondante au nom

property manifest_id_map

Mappage de l’id du manifeste aux noms de référence

manifest_items_of_type(predicate)[source]

Les noms de tous les éléments du manifeste dont le media-type correspond à predicate. predicate peut être un paramètre, une liste, une chaîne ou une fonction comprenant un simple argument, qui sera appelé avec le media-type.

manifest_items_with_property(property_name)[source]

Tous les les éléments du manifeste qui ont la propriété spécifiée

property manifest_type_map

Mappage du media-type du manifeste pour lister les noms de référence de ce media-type

property mi

Les métadonnées de ce livre comme un objet Metadata. Notez que cet objet est construit au vol chaque fois que cette propriété est requise, aussi utilisez-la de façon modérée.

name_to_abspath(name)[source]

Convertir un nom de référence en un chemin absolu dépendant de l’OS

name_to_href(name, base=None)[source]

Convertir un nom en une href relative à la base, qui doit être un nom ou Aucun dans quel cas self.root est utilisé comme la base

property names_that_must_not_be_changed

Ensemble de noms qui ne doivent jamais être renommés. Dépend du format de fichier du livre numérique.

property names_that_must_not_be_removed

Ensemble de noms qui ne doivent jamais être supprimés du conteneur. Dépend du format de fichier du livre numérique.

property names_that_need_not_be_manifested

Ensemble de noms qui ont la possibilité d’être absents du manifeste. Dépend du format de fichier du livre numérique

open(name, mode='rb')[source]

Ouvrir le fichier indiqué par le nom pour lecture/écriture directe. Notez que ceci compromettra le fichier s’il est sali et le retire du cache d’analyse. Vous devez terminer avec ce fichier avant d’encore accéder la version analysée, ou de mauvaises choses pourraient se produire.

property opf

Le fichier OPF analysé

opf_get_or_create(name)[source]

Méthode commode pour soit récupérer le premier élément XML avec le nom spécifique ou le créer sous l’élément opf:package puis le renvoyer, s’il n’existe pas déjà.

property opf_version

La version du <package> de l’élément OPF

property opf_version_parsed

La version paramétrée dans l’élément <package> d’OPF à un tuple de nombres entiers

opf_xpath(expr)[source]

Méthode commode pour évaluer une expression Xpath du fichier OPF, dont les préfixes d’espace de nom opf: et dc: ont été prédéfinis.

parsed(name)[source]

Renvoie une représentation analysée du fichier spécifié par le nom. Pour l’HTML et le XML un arbre |xml| est renvoyé. Pour les CSS une feuille de style css_parser est renvoyée. Notez que ces objets analysez sont mis en cache pour la performance. Si vous faites n’importe quel changement à l’objet analysé, vous devez appeler dirty() ainsi le conteneur sait qu’il doit mettre à jour le cache. Voir aussi replace().

raw_data(name, decode=True, normalize_to_nfc=True)[source]

Renvoyer les données brutes correspondant au fichier spécifié par le nom

Paramètres:
  • decode – Si Vrai et le fichier à un type MIME basé sur du texte, le décode et renvoie un objet unicode à la place de bytes brutes.

  • normalize_to_nfc – Si vrai l’unicode renvoyé est normalisé dans la forme normale NFC comme il est requit pour les formats EPUB et AZW3.

relpath(path, base=None)[source]

Convertir un chemin absolu (avec les séparateurs OS) en un chemin relatif à la pase (par défaut à self.root). Le chemin relatif n’est « pas » un nom. Utiliser abspath_to_name() pour cela.

remove_from_spine(spine_items, remove_if_no_longer_in_spine=True)[source]

Supprimer les articles spécifiés (par nom de référence) de la structure organisationnelle. Si remove_if_no_longer_in_spine est à Vrai, les articles sont aussi supprimés du livre. Pas uniquement de la structure organisationnelle.

remove_from_xml(item)[source]

Supprime l’article du parent, fixant l’indentation (fonctionne seulement avec les articles à fermeture automatique)

remove_item(name, remove_from_guide=True)[source]

Supprimer l’article spécifié par le nom de ce conteneur. Ceci supprime toutes les références de l’article dans le manifeste, le guide, la structure organisationelle de l’OPF tout comme tout cache interne.

rename(current_name, new_name)[source]

Renomme un fichier de current_name à new_name. Il redirige automatiquement tous les liens dans le fichier si le dossier où ce trouve le fichier change. Notez cependant, ces liens ne sont pas mis à jour dans les autres fichiers qui peuvent référencer ce fichier. Ceci est pour la performance, une telle mise à jour devrait être faite une fois, en lot.

replace(name, obj)[source]

Remplacer l’objet analysé correspondant au nom avec obj. qui doit être un objet similaire, par ex. un arbre |xml| pour du HTML/XML ou une feuille de style css_parser pour un fichier CSS.

Remplacer tous les liens en nom en utilisant replace_func, qui doit être un appelable qui accepte une URL et retourne l’URL remplacée. Il doit aussi avoir un attribut “remplacé’qui doit être paramétré à Vrai si tout remplacement actuel est fini. Des manières commodes de créer de tels appelables sont d’utiliser les classes LinkReplacer et LinkRebaser.

serialize_item(name)[source]

Convertir un objet analysé (identifié par nom de référence) en une chaîne de bytes.Voir aussi : parsed().

set_spine(spine_items)[source]

Régler la structure organisationnelle pour être une spine_items où spine_items est une itération de la forme (nom, linéaire). Soulèvera une erreur si un des noms n’est pas présent dans le manifeste.

property spine_items

Un itérateur rapportant le chemin pour chaque élément dans la structure organisationnelle des livres. Voir aussi : spine_iter and spine_items.

property spine_iter

Un itérateur qui rapporte l’article, nom is_linear pour chaque article dans la structure organisationnelle des livres, l’article est l’élément |xml|, le nom est le nom de fichier de référence et is_linear est Vrai si l’article est linéaire. Voir aussi: spine_names et spine_items.

property spine_names

Un itérateur rapportant le nom et is_linear pour chaque article dans la structure organisationnelle des livres. Voir aussi : spine_iter et spine_items.

Gestion des fichiers composant dans un conteneur

Remplacer les liens aux fichiers dans le conteneur. Itératera sur tous les fichiers dans le conteneur et changera les liens spécifiés par ceux-ci.

Paramètres:
  • link_map – Un mappage d’un ancien nom de référence vers un nouveau nom de référence. Par exemple : {'images/old.png': 'images/new.png'}

  • frag_map – Un appelable qui prend deux arguments (name, anchor) et renvoie une nouvelle ancre. Ceci est utile si vous avez besoin de changer les ancres dans des fichiers HTML. Par défaut, il ne fait rien.

  • replace_in_opf – Si Faux, les liens ne sont pas remplacés dans le ficher OPF..

calibre.ebooks.oeb.polish.replace.rename_files(container, file_map)[source]

Renommer les fichier dans le conteneur, met à jour automatiquement tous les liens vers ceux-ci.

Paramètres:

file_map – Un mappage d’un ancien nom de référence vers un nouveau nom de référence. Par exemple : {'text/chapter1.html': 'chapter1.html'}.

Renvoie les répertoires qui sont recommandés pour les noms de fichier donnés. La recommandation est basée sur où la majorité des fichiers du même type sont localisés dans le conteneur. Si aucun fichiers d’un type particulier ne sont présents, le répertoire recommandé est supposé être le répertoire contenant le fichier OPF.

Impression enjolivée et fixation automatique de l’analyse des erreurs

calibre.ebooks.oeb.polish.pretty.fix_html(container, raw)[source]

Répare toutes les erreurs analysées dans l’HTML représentées par une chaîne en brut. La réparation se fait en utilisant l’algorithme d’analyse HTML5.

calibre.ebooks.oeb.polish.pretty.fix_all_html(container)[source]

Répare toutes les erreurs analysées dans tous les fichiers HTML dans le conteneur. La réparation se fait en utilisant l’algorithme d’analyse HTML5.

calibre.ebooks.oeb.polish.pretty.pretty_html(container, name, raw)[source]

Sortie enjolivée de l’HTML présentée comme une chaîne en brut.

calibre.ebooks.oeb.polish.pretty.pretty_css(container, name, raw)[source]

Sortie enjolivée du CSS présenté comme une chaîne en brut.

calibre.ebooks.oeb.polish.pretty.pretty_xml(container, name, raw)[source]

Sortie enjolivée de l’XML présenté comme une chaîne en brut. Si le « nom » est le nom de l’OPF, un OPF-spécifique supplémentaire est réalisé.

calibre.ebooks.oeb.polish.pretty.pretty_all(container)[source]

Sortie enjolivée de tous les fichiers HTML/CSS/XML du conteneur.

Gérer les jaquettes de livre

calibre.ebooks.oeb.polish.jacket.remove_jacket(container)[source]

Supprimer une jaquette existante, s’il en existe une. Renvoie False si aucune jaquette existante n’est trouvée.

calibre.ebooks.oeb.polish.jacket.add_or_replace_jacket(container)[source]

Soit crée une nouvelle jaquette à partir des métadonnées du livre ou remplace une jaquette existante. Renvoie Vrai si une jaquette existante était remplacée.

Scission et fusion de fichiers

calibre.ebooks.oeb.polish.split.split(container, name, loc_or_xpath, before=True, totals=None)[source]

Diviser le fichier spécifié par nom à la position spécifiée par loc_or_xpath. La scission migre automatiquement tous les liens et références aux fichiers affectés.

Paramètres:
  • loc_or_xpath – Doit être une expression XPath telle que //h:div[@id= »split_here »]. Peut aussi être un « loc » qui est utilisé en interne pour implémenter la scission dans le panneau de prévisualisation.

  • before – Si Vrai la scission s’applique avant l’élément identifié autrement après celui-ci.

  • totals – Utilisé en interne

calibre.ebooks.oeb.polish.split.multisplit(container, name, xpath, before=True)[source]

Scinder le fichier spécifié à de multiples endroits (toutes les balises qui correspondent à l’expression XPath spécifiée). Voir aussi : split(). La scission migre automatiquement tous les liens et références aux fichiers affectés.

Paramètres:

before – Si Vrai la scission s’applique avant l’élément identifié autrement après celui-ci.

calibre.ebooks.oeb.polish.split.merge(container, category, names, master)[source]

Fusionner les fichiers spécifiés en un seul fichier, migre automatiquement tous les liens et références aux fichiers affectés. Les fichiers doivent tous être des fichiers soit HTML soit CSS.

Paramètres:
  • category – Doivent être soit “texte”` pour l’HTML soit 'styles' pour les fichiers CSS

  • names – La liste des fichiers à fusionner.

  • master – Lequel des fichiers fusionnés est le fichier maître, c’est à dire, le fichier qui restera après la fusion.

Gérer les couvertures

calibre.ebooks.oeb.polish.cover.set_cover(container, cover_path, report=None, options=None)[source]

Faire correspondre la couverture du livre à l’image indiquée par cover_path.

Paramètres:
  • cover_path – Soit le chemin absolu vers un fichier image ou le nom de référence d’une image dans le livre. lors de l’utilisation d’une image dans le livre, vous devez aussi paramétrer les options. Voir ci-dessous.

  • report – Un appelable optionnel qui prend un seul argument. Il sera appelé avec les informations à propos des tâches en cours d’exécution.

  • options – Aucun ou un dictionnaire qui contrôle comment la couverture est paramétrée. Le dictionnaire peut avoir des entrées keep_aspect : Vrai ou Faux (Préserve le ratio d’aspect des couvertures dans l’EPUB) no_svg : Vrai ou Faux (Utiliser un habillage de couverture SVG dans la page de titre de l’EPUB) existing: Vrai ou Faux (cover_path réfère à une image existante dans le livre)

calibre.ebooks.oeb.polish.cover.mark_as_cover(container, name)[source]

Marquer l’image spécifiée comme l’image de couverture.

calibre.ebooks.oeb.polish.cover.mark_as_titlepage(container, name, move_to_start=True)[source]

Marquer le fichier HTML spécifié comme la page de titre de l’EPUB.

Paramètres:

move_to_start – Si Vrai le fichier HTML est dépalcé au début de la structure organisationnelle.

Travailler avec le CSS

calibre.ebooks.oeb.polish.fonts.change_font(container, old_name, new_name=None)[source]

Changer une famille de police de ancien_nom à nouveau_nom. Change toutes les occurrences de la famille de police dans les feuilles de style, les balises de styles et les attributs de style. Si l’ancien_nom correspond à une police intégrée, elle est retirée. Vous pouvez paramétrer new_name à Aucun pour supprimer une famille de police au lieu de la changer.

calibre.ebooks.oeb.polish.css.remove_unused_css(container, report=None, remove_unused_classes=False, merge_rules=False, merge_rules_with_identical_properties=False, remove_unreferenced_sheets=False)[source]

Supprimer toutes les règles CSS inutilisées du livre. Une règle CSS inutilisée est une qui ne correspond pas à tout contenu actuel.

Paramètres:
  • report – Un appelable optionnel qui prend un seul argument. Il sera appelé avec les informations à propos des opérations en cours d’exécution.

  • remove_unused_classes – Si Vrai, les attibuts de classe HTML qui ne correspondent à aucunes règles CSS sont aussi supprimées.

  • merge_rules – Si Vrai, les règles avec des sélecteurs identiques sont fusionnées

  • merge_rules_with_identical_properties – Si Vrai, les règles avec des propriétés identiques sont fusionnées

  • remove_unreferenced_sheets – Si True, les feuilles de style qui ne sont pas référencées par un contenu sont supprimées

calibre.ebooks.oeb.polish.css.filter_css(container, properties, names=())[source]

Supprimer les propriétés du CSS spécifié de toutes les règles CSS dans le livre.

Paramètres:
  • properties – Ensemble de propriétés à supprimer. Par exemple : {'font-family', 'color'}.

  • names – Les fichiers desquels supprimer les propriétés. Options par défaut pour tous les fichiers HTML et CSS dans le livre.

Travailler avec la Table des Matières

calibre.ebooks.oeb.polish.toc.from_xpaths(container, xpaths, prefer_title=False)[source]

Générer une Table des Matières à partir d’une liste d’expressions XPath. Chaque expresssion dans la liste correspond à un niveau de la TdM générée. Par exemple : ['//h:h1', '//h:h2', '//h:h3'] générera une Table des Matières à trois niveaux à partir des balises <h1>, <h2> et <h3>.

Générer une Table des Matières à partir de liens dans le livre.

calibre.ebooks.oeb.polish.toc.from_files(container)[source]

Générer la table des matières à partir de fichiers dans le livre.

calibre.ebooks.oeb.polish.toc.create_inline_toc(container, title=None)[source]

Créer une Table des Matières intégrée (en HTML) à partir d’une Table des Matières NCX existante.

Paramètres:

title – Le titre pour cette table des matières

Outil d’édition de livre

class calibre.gui2.tweak_book.plugin.Tool[source]

Bases : object

La classe de base pour les outils individuels dans l’extension Editer le Livre. Les membres utiles incluent :

Méthodes qui doivent êtres annulées dans les sous classes :

name = None

Paramétrer ceci à un nom unique il sera utiliser comme une clé

allowed_in_toolbar = True

Si Vrai l’utilisateur peut choisir de placer cet outil dans la barre d’outil des extensions

allowed_in_menu = True

Si Vrai l’utilisateur peut choisir de placer cet outil dans le menu des extensions

toolbar_button_popup_mode = 'delayed'

Le mode du menu contextuel (s’il y en a) du bouton de la barre d’outil. Les valeurs possibles sont “delayed”, “instant”, “button”

property boss

L’objet calibre.gui2.tweak_book.boss.Boss . Utiliser pour contrôler l’interface utilisateur.

property gui

La fenêtre principale de l’interface utilisateur

property current_container

Renvoie l’objet actuel calibre.ebooks.oeb.polish.container.Container qui représente le livre en cours d’édition.

register_shortcut(qaction, unique_name, default_keys=(), short_text=None, description=None, **extra_data)[source]

Enregistrer un raccourci clavier qui déclenchera la qaction spécifiée. Ce raccourci clavier deviendra automatiquement personnalisable pat l’utilisateur via la section Raccourcis clavier des préférences de l’éditeur.

Paramètres:
  • qaction – Un objet QAction, il sera déclenché quand la combinaison de touches configurée est pressée par l’utilisateur.

  • unique_name – Un nom unique pour ce raccourci/action. Il sera utilisé en interne, il ne doit pas être partagé par toutes autres actions dans cette extension.

  • default_keys – Une liste des raccourcis clavier par défaut. Si pas spécifié aucuns raccourcis par défaut ne sera paramétré. Si les raccourcis spécifiés ici entre en conflit avec soit les raccourcis intégrés soit les raccourcis d’une configuration utilisateur/d’autres extensions, ils seront ignorés. Dans ce cas, les utilisateurs auront à configurer les raccourcis manuellement via Préférences. Par exemple : default_keys=('Ctrl+J', 'F9').

  • short_text – Une courte description optionnelle de cette action. Si pas spécifiée le texte de QAction sera utilisé.

  • description – Une description optionnelle plus longue de cette action, il sera utilisé dans les entrées préférences de ce raccourci.

create_action(for_toolbar=True)[source]

Créer une QAction qui sera ajoutée à soit la barre d’outils extensions soit le menu d’extensions dépendant de for_toolbar. Par exemple :

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

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

Voir aussi

Méthode register_shortcut().

Contrôler l’interface utilisateur de l’éditeur

L’interface utilisateur de l’éditeur de livre numérique est contrôlée par un unique objet global Boss. Il y a beaucoup de méthodes utiles qui peuvent être utilisée dans le code de l’extension pour effectuer des tâches courantes.

class calibre.gui2.tweak_book.boss.Boss(parent, notify=None)[source]
add_savepoint(msg)[source]

Créer un point de contrôle de restauration avec le nom spécifié en tant que msg

apply_container_update_to_gui(mark_as_modified=True)[source]

Mettre à jour tous les composants de l’interface utilisateur pour refléter les dernières données dans le conteneur actuel du livre.

Paramètres:

mark_as_modified – Si Vrai, le livre sera marqué comme modifié, ainsi l’utilisateur sera averti de le sauvé en quittant.

close_editor(name)[source]

Fermer l’éditeur qui édite le fichier spécifié par le name

commit_all_editors_to_container()[source]

Appliquer toutes les modifications que l’utilisateur a apportées aux fichiers ouverts dans les éditeurs dans le conteneur. Vous devriez appeler cette méthode avant d’effectuer n’importe quelles actions sur le conteneur actuel

property currently_editing

Renvoie le nom du fichier qui actuellement édité ou Aucun s’il n’y a pas de fichier en cours d’édition

edit_file(name, syntax=None, use_template=None)[source]

Ouvrir le fichier spécifié par le nom dans un éditeur

Paramètres:
  • syntax – Le type de média du fichier, par exemple, ``”text/html. Si pas spécifié il est estimé à partir de l’extension de fichier.

  • use_template – Un modèle pour initialiser l’ouverture de l’éditeur

open_book(path=None, edit_file=None, clear_notify_data=True, open_folder=False, search_text=None)[source]

Ouvrez le livre numérique au path pour l’édition. Montrera une erreur si le livre numérique n’est pas dans un format soutenu ou que le livre actuel a des changements non sauvegardés.

Paramètres:

edit_file – Le nom d’un fichier à l’intérieur du livre nouvellement ouvert pour commencer l’édition. Peut aussi être une liste de noms.

rewind_savepoint()[source]

Annule la création précédente d’un point de contrôle de restauration, utile si vous créer un point de contrôle, termine alors l’opération sans changements

save_book()[source]

Sauvegarder le livre. La sauvegarde s’effectue en tâche de fond

set_modified()[source]

Marquer le livre comme ayant été modifié

show_current_diff(allow_revert=True, to_container=None)[source]

Montrer les changements dans le livre depuis sont dernier état au point de contrôle

Paramètres:
  • allow_revert – Si Vrai la boîte de dialogue diff aura un bouton qui permet à l’utilisateur d’annuler tous les changements

  • to_container – Un objet conteneur pour y comparer le conteneur actuel. Si Aucun, le conteneur du point de contrôle précédent est utilisé

show_editor(name)[source]

Montrer l’éditeur qui édite le fichier spécifié par le name

sync_preview_to_editor()[source]

Synchronise la position du panneau de configuration avec la position actuelle du curseur dans l’éditeur actuel