pdf viewer c# open source : How to bookmark a page in pdf document software control cloud windows web page winforms class calibre20-part879

calibre User Manual, Release 2.56.0
cached_cover_url_is_reliable = True
Cachedcover URLs can sometimes be unreliable (i.e. the download couldfail orthe returned image could
be bogus. If that is often the case with this source set to False
options = ()
Alist of Option objects. They will be used to automatically construct the configuration widget for this
plugin
config_help_message = None
Astring that is displayed at the top of the config widget for this plugin
can_get_multiple_covers = False
If True this source can return multiple covers for a given query
auto_trim_covers = False
If set to True covers downloaded by this plugin are automatically trimmed.
prefer_results_with_isbn = True
If set to True, and this source returns multiple results fora query, some of which have ISBNs and some of
which do not,the results without ISBNs will be ignored
is_configured()
Return False if your plugin needs to be configured before it can be used. For example, it might need a
username/password/APIkey.
get_author_tokens(authors, only_first_author=True)
Take a list of authors and return a list of tokens useful for an AND search query. This function tries to
return tokens in first name middle names last name order, by assuming that if a comma is in the author
name, the name is in lastname,other names form.
get_title_tokens(title, strip_joiners=True, strip_subtitle=False)
Take a title and return a list of tokens useful for an AND search query. Excludes connectives(optionally)
and punctuation.
split_jobs(jobs, num)
Split a list of jobs intoat most numgroups,as evenly as possible
test_fields(mi)
Return the first field from self.touched_fields that is null on the mi object
clean_downloaded_metadata(mi)
Callthis method in yourplugin’s identifymethodtonormalize metadatabeforeputtingtheMetadata object
into result_queue. Youcan of course, use a custom algorithm suited to your metadata source.
get_book_url(identifiers)
Return a 3-tuple or None. The 3-tuple is of the form: (identifier_type, identifier_value, URL). The URL
is the URL for the book identifiedby identifiers at this source. identifier_type, identifier_value specify the
identifier corresponding to the URL. This URL must be browseable to by a human using a browser. It is
meant to provide a clickable link for the user to easily visit the books page at this source. If no URL is
found, return None. This method must be quick, and consistent, so only implement it if it is possible to
construct the URL from a known scheme given identifiers.
get_book_url_name(idtype, idval, url)
Return a human readable name fromthe return value of get_book_url().
get_book_urls(identifiers)
Override this method if you would like to return multiple urls for this book. Return a list of 3-tuples. By
default this method simply callsget_book_url() (page 197).
get_cached_cover_url(identifiers)
Return cached cover URL for the book identified by the identifiers dict orNone if no such URL exists.
1.10. Customizing calibre
197
How to bookmark a page in pdf document - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
adding bookmarks to a pdf; pdf create bookmarks
How to bookmark a page in pdf document - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create bookmark pdf file; acrobat split pdf bookmark
calibre User Manual, Release 2.56.0
Note that this method must only return validated URLs, i.e. not URLSthat could result in a generic cover
image or a not found error.
identify_results_keygen(title=None, authors=None, identifiers={})
Return a function that is used to generate a key that can sort Metadata objects by their relevance given a
search query (title, authors, identifiers).
These keys are used to sort the results of a call toidentify() (page 198).
For details on the default algorithm see InternalMetadataCompareKeyGen (page 198). Re-
implement this function in your plugin if the default algorithmis not suitable.
identify(log,result_queue,abort, title=None, authors=None, identifiers={},timeout=30)
Identify a book by its title/author/isbn/etc.
If identifiers(s) are specified and no match is found and this metadata source does not store all related
identifiers (for example, all ISBNs of a book), this method should retry with just the title and author
(assuming they were specified).
If this metadata source also provides covers, the URL to the cover should be cached so that a subsequent
call tothe get covers APIwith the same ISBN/special identifierdoes not needto getthe coverURL again.
Use the caching APIfor this.
Every Metadata object put into result_queue by this method must have a source_relevance attribute that
is an integer indicating the order in which the results were returned by the metadata source for this query.
This integer will be used by compare_identify_results(). If the order is unimportant, set it to
zero forevery result.
Make sure that any cover/isbn mapping information is cached before the Metadata object is put into re-
sult_queue.
Parameters
• log – A log object, use it to output debugging information/errors
• result_queue –A resultQueue,results shouldbe put intoit. Each result is a Metadata
object
• abort – If abort.is_set() returns True, abort further processing and return as soon as
possible
• title – The title of the book,can be None
• authors – A list of authors of the book, can be None
• identifiers – A dictionary of other identifiers, most commonly {‘isbn’:‘1234...’}
• timeout – Timeout in seconds, no network request should hang forlongerthan timeout.
Returns None if no errors occurred,otherwise a unicode representation of the error suitable for
showing to the user
download_cover(log, result_queue, abort, title=None, authors=None, identifiers={}, timeout=30,
get_best_cover=False)
Download a cover and put it into result_queue. The parameters all have the same meaning as for
identify()(page198).Put(self,cover_data)intoresult_queue.
This method should use cached cover URLs for efficiency whenever possible. When cached data is not
present,most plugins simply call identify and use its results.
If the parameter get_best_cover is True and this plugin can get multiple covers, it should only get the
“best” one.
198
Chapter 1. Sections
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
VB.NET PDF - How to Delete PDF Document Page in VB.NET. Please follow the sections below to learn more. DLLs for Deleting Page from PDF Document in VB.NET Class.
copy pdf bookmarks to another pdf; how to bookmark a pdf page
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document in VB.NET Program. DLLs for Adding Page into PDF Document in VB.NET Class.
how to create bookmarks in pdf file; create bookmark pdf
calibre User Manual, Release 2.56.0
class calibre.ebooks.metadata.sources.base.InternalMetadataCompareKeyGen(mi,
source_plugin,
title,
au-
thors,
iden-
ti-
fiers)
Generate a sort key for comparison ofthe relevance of Metadata objects,given a search query. This is usedonly
to compare results from the same metadata source, not across different sources.
The sort key ensures that an ascending order sort is a sort by order of decreasing relevance.
The algorithmis:
•Prefer results that have at least one identifier the same as for the query
•Prefer results with a cached cover URL
•Prefer results with all available fields filled in
•Prefer results with the same language as the current user interface language
•Prefer results that are an exact title match to the query
•Prefer results with longercomments (greater than 10% longer)
•Use the relevance ofthe result as reported by the metadata source’s search engine
Conversion plugins
class calibre.customize.conversion.InputFormatPlugin(*args)
Bases:calibre.customize.Plugin (page 192)
InputFormatPlugins are responsible for converting a document into HTML+OPF+CSS+etc. The results of the
conversion must be encoded in UTF-8. The main action happens inconvert() (page 200).
file_types = set([])
Setoffiletypes for whichthis pluginshould berun Forexample: set([’azw’, ’mobi’, ’prc’])
is_image_collection = False
IfTrue,this inputplugin generates a collection ofimages, one perHTML file. This can beset dynamically,
in the convertmethodif the input files canbe both image collections andnon-image collections. Ifyou set
this to True, you must implement the get_images() method that returns a list ofimages.
core_usage = 1
Numberof CPU cores used by this plugin A value of-1 means that it uses all available cores
for_viewer = False
If set to True, the input plugin will perform special processingto make its output suitable for viewing
output_encoding = ‘utf-8’
The encodingthat this input plugin creates files in. A value of None means that the encoding is undefined
and must be detected individually
common_options = set([<calibre.customize.conversion.OptionRecommendation object at 0x7fc323629490>])
Options shared by all Input format plugins. Do not override in sub-classes. Useoptions (page 199)
instead. Every option must be aninstance of OptionRecommendation.
options = set([])
Options to customize the behavior of this plugin.
Every option must be an instance of
OptionRecommendation.
1.10. Customizing calibre
199
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
C#.NET PDF Library - Delete PDF Document Page in C#.NET. Able to remove a single page from PDF document. Ability to remove a range of pages from PDF file.
bookmark template pdf; create pdf bookmarks from word
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
String filepath = @""; String outPutFilePath = @""; PDFDocument doc = new PDFDocument(filepath); // Copy the first page of PDF document.
how to bookmark a pdf file in acrobat; add bookmarks to pdf online
calibre User Manual, Release 2.56.0
recommendations = set([])
Aset of 3-tuples ofthe form (option_name,recommended_value,recommendation_level)
get_images()
Return a list ofabsolute paths to the images,if this inputplugin represents an image collection. The list of
images is in the same order as the spine and the TOC.
convert(stream,options, file_ext, log,accelerators)
This method must be implemented in sub-classes. It must return the path to the created OPF file or an
OEBBook instance. All output should be contained in the current directory. If this plugin creates files
outside the current directory they must be deleted/marked for deletion before this method returns.
Parameters
• stream – A file like object that contains the input file.
• options – Options to customize the conversion process. Guaranteed to have attributes
corresponding to all the options declared by this plugin. In addition, it will have a
verbose attribute that takes integral values from zero upwards. Higher numbers mean
be more verbose. Another useful attribute is input_profile that is an instance of
calibre.customize.profiles.InputProfile.
• file_ext – The extension (without the .) of the input file. It is guaranteed to be one of
the file_types supported bythis plugin.
• log – A calibre.utils.logging.Log object. All output should use this object.
• accelarators– Adictionary ofvarious informationthat the input plugincangeteasily
that would speed up the subsequent stages of the conversion.
postprocess_book(oeb, opts,log)
Called to allow the input plugin to perform postprocessing after the book has been parsed.
specialize(oeb, opts,log, output_fmt)
Called to allow the input plugin to specialize the parsed book for a particular output format. Called after
postprocess_book and before any transforms are performed on the parsedbook.
gui_configuration_widget(parent,get_option_by_name,get_option_help, db, book_id=None)
Called to create the widget used for configuring this plugin in the calibre GUI. The widget must be an
instance of the PluginWidget class. See the builtin input plugins for examples.
class calibre.customize.conversion.OutputFormatPlugin(*args)
Bases:calibre.customize.Plugin (page 192)
OutputFormatPlugins are responsible for converting an OEB document (OPF+HTML) into an output ebook.
The OEB document can be assumed to be encoded in UTF-8. The main action happens inconvert()
(page 200).
file_type = None
The file type (extension without leading period)that this plugin outputs
common_options = set([<calibre.customize.conversion.OptionRecommendation object at 0x7fc323629610>])
Options shared by all Input format plugins. Do not override in sub-classes. Useoptions (page 200)
instead. Every option must be aninstance of OptionRecommendation.
options = set([])
Options to customize the behavior of this plugin.
Every option must be an instance of
OptionRecommendation.
recommendations = set([])
Aset of 3-tuples ofthe form (option_name,recommended_value,recommendation_level)
200
Chapter 1. Sections
C# PDF Page Insert Library: insert pages into PDF file in C#.net
Support to create new page to PDF document in both web server-side application and Windows Forms. DLLs for Inserting Page to PDF Document.
excel print to pdf with bookmarks; how to bookmark a pdf in reader
VB.NET PDF File Split Library: Split, seperate PDF into multiple
file by defined page range in VB.NET class application. Divide PDF file into multiple files by outputting PDF file size. Split PDF document by PDF bookmark and
how to bookmark a pdf file; copy pdf bookmarks to another pdf
calibre User Manual, Release 2.56.0
convert(oeb_book,output, input_plugin,opts,log)
Render the contents of oeb_book (which is an instance of calibre.ebooks.oeb.OEBBook to the
file specified by output.
Parameters
• output – Either a file like object or a string. If it is a string it is the path to a directory
that may or may not exist. The output plugin should write its output into that directory. If
it is a file like object, the output plugin should write its output into the file.
• input_plugin – The input plugin that was used at the beginning of the conversion
pipeline.
• opts – Conversion options. Guaranteed to have attributes corresponding to the Option-
Recommendations of this plugin.
• log – The logger. Print debug/info messages etc. using this.
specialize_css_for_output(log, opts, item,stylizer)
Can be used to make changes to the css during the CSS flattening process.
Parameters
• item – The item(HTML file)being processed
• stylizer – A Stylizer object containing the flattened styles for item. You can get the
style forany element by stylizer.style(element).
gui_configuration_widget(parent,get_option_by_name,get_option_help, db, book_id=None)
Called to create the widget used for configuring this plugin in the calibre GUI. The widget must be an
instance of the PluginWidget class. See the builtin output plugins forexamples.
Device Drivers
The base class for all device drivers isDevicePlugin (page 201). However, if your device exposes itself as a
USBMSdrive to the operating system, you should use the USBMS class instead as it implements all the logic needed
to support these kinds of devices.
class calibre.devices.interface.DevicePlugin(plugin_path)
Bases:calibre.customize.Plugin (page 192)
Defines the interface that should be implemented bybackends that communicate with an ebook reader.
FORMATS = [’lrf’, ‘rtf’, ‘pdf’,‘txt’]
Ordered list of supported formats
VENDOR_ID = 0
VENDOR_ID can be either an integer, a list of integers or a dictionary If it is a dictionary, it must be a
dictionary of dictionaries, of the form:
{
integer_vendor_id : { product_id : [list of BCDs], ... },
...
}
PRODUCT_ID = 0
An integer ora list of integers
BCD = None
BCD can be either None to not distinguish between devices based on BCD,or it can be a list of the BCD
numbers of all devices supported by this driver.
1.10. Customizing calibre
201
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
Using this C# .NET PDF rotate page control SDK, you can easily select any page from a multi-page PDF document file, rotate selected PDF page to special
add bookmarks pdf; create bookmark pdf
C# PDF Library SDK to view, edit, convert, process PDF file for C#
APIs for editing PDF document hyperlink (url) and quick navigation link in PDF bookmark. can be drawn and added to a specific location on PDF file page.
export excel to pdf with bookmarks; how to create bookmark in pdf automatically
calibre User Manual, Release 2.56.0
THUMBNAIL_HEIGHT = 68
Height for thumbnails on the device
THUMBNAIL_COMPRESSION_QUALITY = 75
Width for thumbnails on the device. Setting this will force thumbnails to this size, not preserving aspect
ratio. If it is not set, then the aspect ratio will be preserved and the thumbnail will be no higher than
THUMBNAIL_HEIGHT Compression quality for thumbnails. Set this closerto 100 to have betterquality
thumbnails with fewer compression artifacts. Of course,the thumbnails get larger as well.
WANTS_UPDATED_THUMBNAILS = False
Set this to True if the device supports updating cover thumbnails during sync_booklists. Setting it to true
will ask device.py to refresh the coverthumbnails during book matching
CAN_SET_METADATA = [’title’, ‘authors’, ‘collections’]
Whetherthe metadata on books can be set via the GUI.
CAN_DO_DEVICE_DB_PLUGBOARD = False
Whetherthe device can handle device_db metadata plugboards
path_sep = ‘/’
Path separator for paths to books on device
icon = ‘/home/kovid/work/calibre/resources/images/reader.png’
Icon for this device
UserAnnotation
alias ofAnnotation
OPEN_FEEDBACK_MESSAGE = None
GUIdisplays this as a message if not None. Useful if opening can take a long time
VIRTUAL_BOOK_EXTENSIONS = frozenset([])
Set of extensions that are “virtual books” on the device and therefore cannot be viewed/saved/added to
library. For example: frozenset([’kobo’])
VIRTUAL_BOOK_EXTENSION_MESSAGE = None
Message to display to user forvirtual book extensions.
NUKE_COMMENTS = None
Whether to nuke comments in the copy of the book sent to the device. If not None this should be short
string that the comments will be replaced by.
MANAGES_DEVICE_PRESENCE = False
IfTrue indicates thatthis drivercompletely 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 meth-
ods. A driver with this set to true is responsible for detection of devices,managing a blacklist of devices,
alist 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 is 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 de-
tect_managed_devices() returns None,it will call post_yank_cleanup().
SLOW_DRIVEINFO = False
If set the True, calibre will call theget_driveinfo() (page 204) method after the books lists have
been loaded to get the driveinfo.
ASK_TO_ALLOW_CONNECT = False
If set to True, calibre will ask the user if they want to manage the device with calibre, the first
time it is detected. If you set this to True you must implementget_device_uid() (page 207)
and ignore_connected_device() (page 207) and get_user_blacklisted_devices()
(page 207) andset_user_blacklisted_devices() (page 207)
202
Chapter 1. Sections
calibre User Manual, Release 2.56.0
user_feedback_after_callback = None
Setthis toa dictionary of the form{‘title’:title, ‘msg’:msg,‘det_msg’:detailed_msg}tohave calibre popup
amessage to the user aftersome callbacks are run (currently only upload_books). Be careful to not spam
the user with too many messages. This variable is checked after every callback, so only set it when you
really need to.
is_usb_connected(devices_on_system,debug=False, only_presence=False)
Return True,device_info ifa device handled by this plugin is currently connected.
Parameters devices_on_system – List of devices currently connected
detect_managed_devices(devices_on_system, force_refresh=False)
Called only if MANAGES_DEVICE_PRESENCE is True.
Scan fordevices that this driver can handle. Should return a device object ifa device is found. This object
will be passed to the open() method as the connected_device. If no device is found, return None. The
returned object can be anything,calibre does not use it, it is only passed to open().
This method is called periodically by the GUI, so make sure it is not too resource intensive. Use a cache
to avoid repeatedly scanning the system.
Parameters
• devices_on_system – Set of USB devices found onthe system.
• force_refresh – If True and the driver uses a cache to prevent repeated scanning, the
cache must be flushed.
debug_managed_device_detection(devices_on_system, output)
Called only if MANAGES_DEVICE_PRESENCE is True.
Should write information about the devices detected onthe systemto output,which is a file like object.
Should return True if a device was detected and successfully opened, otherwise False.
reset(key=’-1’, log_packets=False, report_progress=None, detected_device=None)
Parameters
• key – The keyto unlock the device
• log_packets – Iftrue the packet streamto/from the device is logged
• 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 – Device information from the device scanner
can_handle_windows(usbdevice,debug=False)
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, soit can do some relativelytime intensive checks. The default implementation returns True. This
method is called only on windows. See alsocan_handle() (page 203).
Note that for devices based on USBMSthis method by default delegates tocan_handle() (page 203).
So you only need to overridecan_handle() (page 203) in your subclass of USBMS.
Parameters usbdevice
A
usbdevice
as
returned
by
calibre.devices.winusb.scan_usb_devices()
can_handle(device_info, debug=False)
Unix version ofcan_handle_windows() (page 203).
Parameters device_info –Is atuple of(vid,pid,bcd, manufacturer,product, serialnumber)
1.10. Customizing calibre
203
calibre User Manual, Release 2.56.0
open(connected_device, library_uuid)
Perform any device specific initialization. Called after the device is detected but before any
other functions that communicate with the device. For example: For devices that present them-
selves as USB Mass storage devices, this method would be responsible for mounting the device
or if the device has been automounted, for finding out where it has been mounted. The method
calibre.devices.usbms.device.Device.open() has animplementation ofthis functionthat
should serve as a good example for USB Mass storage devices.
This method can raise an OpenFeedback exception to display a message to the user.
Parameters
• 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 firstthree fields are present,
the rest are None.
• library_uuid – The UUID of the current calibre library. Can be None if there is no
library (for example when used from the command line).
eject()
Un-mount / eject the device from the OS. This does not check if there are pending GUI jobs that need to
communicate with the device.
NOTE: That this method may not be called on the same thread as the rest of the device methods.
post_yank_cleanup()
Called if the user yanks the device without ejecting it first.
set_progress_reporter(report_progress)
Set a function to report progress information.
Parameters report_progress –Functionthatis calledwith a% progress (numberbetween
0and 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)
Ask device for device information. See L{DeviceInfoQuery}.
Returns (device name, device version, software version on device, mime type) The tuple can
optionally have a fifth element,which is a drive informationdictionary. See usbms.driver for
an example.
get_driveinfo()
Return the driveinfodictionary. Usually called from get_device_information(), butif loading the driveinfo
is slow for this driver, then it should set SLOW_DRIVEINFO. In this case, this method will be called by
calibre after the book lists have been loaded. Note that it is not called on the device thread, so the driver
should cache the drive info in the books() method and this function should return the cached data.
card_prefix(end_session=True)
Return a 2 element list of the prefix to paths on the cards. If no card is present None is set for the card’s
prefix. E.G. (‘/place’,‘/place2’) (None, ‘place2’) (‘place’,None) (None, None)
total_space(end_session=True)
Gettotal space available on the mountpoints:
1. Main memory
2. Memory Card A
3. Memory Card B
204
Chapter 1. Sections
calibre User Manual, Release 2.56.0
Returns A 3 element listwith total space in bytes of(1, 2, 3). Ifa particulardevice doesn’t have
any of these locations it should return 0.
free_space(end_session=True)
Getfree space available on the mountpoints:
1. Main memory
2. Card A
3. Card B
Returns A 3 element list with free space in bytes of (1, 2, 3). Ifa particular device doesn’t have
any of these locations it should return -1.
books(oncard=None, end_session=True)
Return a list of ebooks on the device.
Parameters oncard – If ‘carda’ or ‘cardb’ return a list ofebooks on the specific storage card,
otherwise returnlist of ebooks in main memory ofdevice. If a card is specified and nobooks
are on the card return empty list.
Returns A BookList.
upload_books(files, names,on_card=None, end_session=True, metadata=None)
Upload a list of books to the device. If a file already exists on the device, it should be replaced. This
method should raise a FreeSpaceError if there is not enough free space onthe device. The textof the
FreeSpaceError must contain the word “card” ifon_card is notNone otherwise itmustcontain the word
“memory”.
Parameters
• files – A list of paths
• names – A list of file names that the books should have once uploaded to the device.
len(names)== len(files)
• metadata –IfnotNone,itis alistofMetadataobjects. The ideais tousethemetadata
to determine where on the device to put the book. len(metadata) == len(files). Apart from
the regularcover(path tocover), there mayalso be a thumbnail attribute,which should be
used in preference. The thumbnail attribute is of the form (width, height, cover_data as
jpeg).
Returns A
list of 3-element tuples.
The list is meant to be passed to
add_books_to_metadata()(page205).
classmethod add_books_to_metadata(locations, metadata, booklists)
Add locations to the booklists. This function must not communicate with the device.
Parameters
• locations – Result of a call to L{upload_books}
• metadata – List of Metadata objects, same as forupload_books() (page 205).
• booklists – A tuple containing the result of calls to (books(oncard=None)(),
books(oncard=’carda’)(), :meth‘books(oncard=’cardb’)‘).
delete_books(paths,end_session=True)
Delete books at paths on device.
1.10. Customizing calibre
205
calibre User Manual, Release 2.56.0
classmethod remove_books_from_metadata(paths, booklists)
Remove books from the metadata list. This function must not communicate with the device.
Parameters
• paths – paths to books on the device.
• booklists – A tuple containing the result of calls to (books(oncard=None)(),
books(oncard=’carda’)(), :meth‘books(oncard=’cardb’)‘).
sync_booklists(booklists, end_session=True)
Update metadata on device.
Parameters booklists
A
tuple
containing
the
result
of
calls
to
(books(oncard=None)(),
books(oncard=’carda’)(),
:meth‘books(oncard=’cardb’)‘).
get_file(path,outfile, end_session=True)
Read the file at path on the device and write it to outfile.
Parameters outfile – file object like sys.stdout or the result of anopen() (page 203)
call.
classmethod config_widget()
Should return a QWidget. The QWidget contains the settings for the device interface
classmethod save_settings(settings_widget)
Should save settings to disk. Takes the widget created inconfig_widget() (page 206) and saves all
settings to disk.
classmethod settings()
Should return an opts object. The opts object should have at least one attribute format_map which is an
ordered list offormats for the device.
set_plugboards(plugboards,pb_func)
provide the driverthe current set ofplugboards and a function to select a specific plugboard. This method
is called immediately before add_books and sync_booklists.
pb_func is a callable with the following signature:: def pb_func(device_name, format, plugboards)
You give it the current device name (either the class name or DEVICE_PLUGBOARD_NAME), the for-
mat you are interested in (a ‘real’ format or ‘device_db’), and the plugboards (you were given those by
set_plugboards, the same place you got this method).
Returns None or a single plugboard instance.
set_driveinfo_name(location_code, name)
Set the device name in the driveinfo file to ‘name’. This setting will persist until the file is re-created or
the name is changed again.
Non-disk devices should implement this method based on the location codes returned by the
get_device_information() method.
prepare_addable_books(paths)
Given a list of paths, returns another list of paths. These paths point to addable versions ofthe books.
If there is an error preparing a book, then instead of a path, the position in the returned list for that book
should be a three tuple: (original_path,the exception instance, traceback)
startup()
Called when calibre is 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.
206
Chapter 1. Sections
Documents you may be interested
Documents you may be interested