mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
More API documentation
This commit is contained in:
parent
172977dbf5
commit
774c7603d0
@ -397,9 +397,14 @@ you can also directly import |app|, as follows::
|
|||||||
It is essential that you import the init_calibre module before any other |app| modules/packages as
|
It is essential that you import the init_calibre module before any other |app| modules/packages as
|
||||||
it sets up the interpreter to run |app| code.
|
it sets up the interpreter to run |app| code.
|
||||||
|
|
||||||
.. toctree::
|
API documentation for various parts of |app|
|
||||||
:hidden:
|
------------------------------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
news_recipe
|
||||||
|
plugins
|
||||||
db_api
|
db_api
|
||||||
polish
|
polish
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ for the book being edited like this::
|
|||||||
from calibre.gui2.tweak_book import current_container
|
from calibre.gui2.tweak_book import current_container
|
||||||
container = current_container()
|
container = current_container()
|
||||||
if container is None:
|
if container is None:
|
||||||
# No book has been opened yet
|
report_error # No book has been opened yet
|
||||||
|
|
||||||
|
|
||||||
The Container object
|
The Container object
|
||||||
@ -35,4 +35,14 @@ The Container object
|
|||||||
.. autoclass:: Container
|
.. autoclass:: Container
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
Tools for dealing with component files in a container
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
.. module:: calibre.ebooks.oeb.polish.replace
|
||||||
|
|
||||||
|
.. autofunction:: replace_links
|
||||||
|
|
||||||
|
.. autofunction:: rename_files
|
||||||
|
|
||||||
|
.. autofunction:: get_recommended_folders
|
||||||
|
|
||||||
|
@ -72,6 +72,16 @@ class LinkRebaser(object):
|
|||||||
|
|
||||||
|
|
||||||
def replace_links(container, link_map, frag_map=lambda name, frag:frag, replace_in_opf=False):
|
def replace_links(container, link_map, frag_map=lambda name, frag:frag, replace_in_opf=False):
|
||||||
|
'''
|
||||||
|
Replace links to files in the container. Will iterate over all files in the container and change the specified links in them.
|
||||||
|
|
||||||
|
:param link_map: A mapping of old canonical name to new canonical name. For example: :code:`{'images/old.png': 'images/new.png'}`
|
||||||
|
:param frag_map: A callable that takes two arguments ``(name, anchor)`` and
|
||||||
|
returns a new anchor. This is useful if you need to change the anchors in
|
||||||
|
HTML files. By default, it does nothing.
|
||||||
|
:param replace_in_opf: If False, links are not replaced in the OPF file.
|
||||||
|
|
||||||
|
'''
|
||||||
for name, media_type in container.mime_map.iteritems():
|
for name, media_type in container.mime_map.iteritems():
|
||||||
if name == container.opf_name and not replace_in_opf:
|
if name == container.opf_name and not replace_in_opf:
|
||||||
continue
|
continue
|
||||||
@ -107,6 +117,12 @@ def smarten_punctuation(container, report):
|
|||||||
return smartened
|
return smartened
|
||||||
|
|
||||||
def rename_files(container, file_map):
|
def rename_files(container, file_map):
|
||||||
|
'''
|
||||||
|
Rename files in the container, automatically updating all links to them.
|
||||||
|
|
||||||
|
:param file_map: A mapping of old canonical name to new canonical name, for
|
||||||
|
example: :code:`{'text/chapter1.html': 'chapter1.html'}`.
|
||||||
|
'''
|
||||||
overlap = set(file_map).intersection(set(file_map.itervalues()))
|
overlap = set(file_map).intersection(set(file_map.itervalues()))
|
||||||
if overlap:
|
if overlap:
|
||||||
raise ValueError('Circular rename detected. The files %s are both rename targets and destinations' % ', '.join(overlap))
|
raise ValueError('Circular rename detected. The files %s are both rename targets and destinations' % ', '.join(overlap))
|
||||||
@ -166,7 +182,9 @@ def mt_to_category(container, mt):
|
|||||||
return category
|
return category
|
||||||
|
|
||||||
def get_recommended_folders(container, names):
|
def get_recommended_folders(container, names):
|
||||||
' Return the folders that are recommended for the given filenames '
|
''' Return the folders that are recommended for the given filenames. The
|
||||||
|
recommendation is based on where the majority of files of the same type are
|
||||||
|
located in the container. '''
|
||||||
from calibre.ebooks.oeb.polish.utils import guess_type
|
from calibre.ebooks.oeb.polish.utils import guess_type
|
||||||
counts = defaultdict(Counter)
|
counts = defaultdict(Counter)
|
||||||
for name, mt in container.mime_map.iteritems():
|
for name, mt in container.mime_map.iteritems():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user