From fb2d1a4ea49307918528e34fbc564c6d96d28e00 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Jun 2011 13:36:33 -0600 Subject: [PATCH] Doc updates to setting up a calibre development environment --- src/calibre/manual/develop.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/calibre/manual/develop.rst b/src/calibre/manual/develop.rst index 7068bc2389..cc037ee6dd 100644 --- a/src/calibre/manual/develop.rst +++ b/src/calibre/manual/develop.rst @@ -28,7 +28,7 @@ For example, adding support for a new device to |app| typically involves writing a device driver plugin. You can browse the `built-in drivers `_. Similarly, adding support for new conversion formats involves writing input/output format plugins. Another example of the modular design is the :ref:`recipe system ` for -fetching news. +fetching news. For more examples of plugins designed to add features to |app|, see the `plugin index `_. Code layout ^^^^^^^^^^^^^^ @@ -36,14 +36,18 @@ Code layout All the |app| python code is in the ``calibre`` package. This package contains the following main sub-packages * devices - All the device drivers. Just look through some of the built-in drivers to get an idea for how they work. - * For details, see: devices.interface which defines the interface supported by device drivers and devices.usbms which defines a generic driver that connects to a USBMS device. All USBMS based drivers in calibre inherit from it. - * ebooks - All the ebook conversion code. A good starting point is ``calibre.ebooks.conversion.cli`` which is the + * For details, see: devices.interface which defines the interface supported by device drivers and devices.usbms which + defines a generic driver that connects to a USBMS device. All USBMS based drivers in calibre inherit from it. + * ebooks - All the ebook conversion/metadata code. A good starting point is ``calibre.ebooks.conversion.cli`` which is the module powering the :command:`ebook-convert` command. The conversion process is controlled via conversion.plumber. The format independent code is all in ebooks.oeb and the format dependent stuff is in ebooks.format_name. * Metadata reading writing and downloading is all in ebooks.metadata * library - The database backed and the content server. See library.database2 for the interface to the calibre library. library.server is the calibre Content Server. * gui2 - The Graphical User Interface. GUI initialization happens in gui2.main and gui2.ui. The ebook-viewer is in gui2.viewer. +If you need help understanding the code, post in the `development forum `_ +and you will most likely get help from one of |app|'s many developers. + Getting the code ------------------