1# SOME DESCRIPTIVE TITLE. 2# Copyright (C) Kovid Goyal 3# This file is distributed under the same license as the calibre package. 4# 5# Translators: 6msgid "" 7msgstr "" 8"Project-Id-Version: calibre\n" 9"Report-Msgid-Bugs-To: \n" 10"POT-Creation-Date: 2021-03-23 06:27+0000\n" 11"PO-Revision-Date: 2021-03-09 03:55+0000\n" 12"Last-Translator: Kovid Goyal <kovid@kovidgoyal.net>\n" 13"Language-Team: Slovak (http://www.transifex.com/calibre/calibre/language/sk/)\n" 14"MIME-Version: 1.0\n" 15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Transfer-Encoding: 8bit\n" 17"Language: sk\n" 18"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" 19 20#: ../../__w/calibre/calibre/manual/develop.rst:4 21msgid "Setting up a calibre development environment" 22msgstr "" 23 24#: ../../__w/calibre/calibre/manual/develop.rst:6 25msgid "" 26"calibre is completely open source, licensed under the `GNU GPL v3 " 27"<https://www.gnu.org/licenses/gpl.html>`_. This means that you are free to " 28"download and modify the program to your heart's content. In this section, " 29"you will learn how to get a calibre development environment set up on the " 30"operating system of your choice. calibre is written primarily in `Python " 31"<https://www.python.org>`_ with some C/C++ code for speed and system " 32"interfacing. Note that calibre requires at least Python 3.8." 33msgstr "" 34 35#: ../../__w/calibre/calibre/manual/develop.rst:14 36msgid "Contents" 37msgstr "" 38 39#: ../../__w/calibre/calibre/manual/develop.rst:17 40msgid "Design philosophy" 41msgstr "" 42 43#: ../../__w/calibre/calibre/manual/develop.rst:19 44msgid "" 45"calibre has its roots in the Unix world, which means that its design is " 46"highly modular. The modules interact with each other via well defined " 47"interfaces. This makes adding new features and fixing bugs in calibre very " 48"easy, resulting in a frenetic pace of development. Because of its roots, " 49"calibre has a comprehensive command line interface for all its functions, " 50"documented in :doc:`generated/en/cli-index`." 51msgstr "" 52 53#: ../../__w/calibre/calibre/manual/develop.rst:24 54msgid "" 55"The modular design of calibre is expressed via ``Plugins``. There is a " 56":ref:`tutorial <customize>` on writing calibre plugins. For example, adding " 57"support for a new device to calibre typically involves writing less than a " 58"100 lines of code in the form of a device driver plugin. You can browse the " 59"`built-in drivers " 60"<https://github.com/kovidgoyal/calibre/tree/master/src/calibre/devices>`_. " 61"Similarly, adding support for new conversion formats involves writing " 62"input/output format plugins. Another example of the modular design is the " 63":ref:`recipe system <news>` for fetching news. For more examples of plugins " 64"designed to add features to calibre, see the `Index of plugins " 65"<https://www.mobileread.com/forums/showthread.php?p=1362767#post1362767>`_." 66msgstr "" 67 68#: ../../__w/calibre/calibre/manual/develop.rst:34 69msgid "Code layout" 70msgstr "" 71 72#: ../../__w/calibre/calibre/manual/develop.rst:36 73msgid "" 74"All the calibre python code is in the ``calibre`` package. This package " 75"contains the following main sub-packages" 76msgstr "" 77 78#: ../../__w/calibre/calibre/manual/develop.rst:38 79msgid "" 80"devices - All the device drivers. Just look through some of the built-in " 81"drivers to get an idea for how they work." 82msgstr "" 83 84#: ../../__w/calibre/calibre/manual/develop.rst:40 85msgid "" 86"For details, see: ``devices.interface`` which defines the interface " 87"supported by device drivers and ``devices.usbms`` which defines a generic " 88"driver that connects to a USBMS device. All USBMS based drivers in calibre " 89"inherit from it." 90msgstr "" 91 92#: ../../__w/calibre/calibre/manual/develop.rst:43 93msgid "" 94"e-books - All the e-book conversion/metadata code. A good starting point is" 95" ``calibre.ebooks.conversion.cli`` which is the module powering the :command" 96":`ebook-convert` command. The conversion process is controlled via " 97"``conversion.plumber``. The format independent code is all in ``ebooks.oeb``" 98" and the format dependent code is in ``ebooks.format_name``." 99msgstr "" 100 101#: ../../__w/calibre/calibre/manual/develop.rst:47 102msgid "" 103"Metadata reading, writing, and downloading is all in ``ebooks.metadata``" 104msgstr "" 105 106#: ../../__w/calibre/calibre/manual/develop.rst:48 107msgid "" 108"Conversion happens in a pipeline, for the structure of the pipeline, see " 109":ref:`conversion-introduction`. The pipeline consists of an input plugin, " 110"various transforms and an output plugin. The code that constructs and drives" 111" the pipeline is in :file:`plumber.py`. The pipeline works on a " 112"representation of an e-book that is like an unzipped epub, with manifest, " 113"spine, toc, guide, html content, etc. The class that manages this " 114"representation is OEBBook in ``ebooks.oeb.base``. The various " 115"transformations that are applied to the book during conversions live in " 116":file:`oeb/transforms/*.py`. And the input and output plugins live in " 117":file:`conversion/plugins/*.py`." 118msgstr "" 119 120#: ../../__w/calibre/calibre/manual/develop.rst:58 121msgid "" 122"E-book editing happens using a different container object. It is documented " 123"in :ref:`polish_api`." 124msgstr "" 125 126#: ../../__w/calibre/calibre/manual/develop.rst:61 127msgid "" 128"db - The database back-end. See :ref:`db_api` for the interface to the " 129"calibre library." 130msgstr "" 131 132#: ../../__w/calibre/calibre/manual/develop.rst:63 133msgid "Content server: ``srv`` is the calibre Content server." 134msgstr "" 135 136#: ../../__w/calibre/calibre/manual/develop.rst:65 137msgid "" 138"gui2 - The Graphical User Interface. GUI initialization happens in " 139"``gui2.main`` and ``gui2.ui``. The e-book-viewer is in ``gui2.viewer``. The " 140"e-book editor is in ``gui2.tweak_book``." 141msgstr "" 142 143#: ../../__w/calibre/calibre/manual/develop.rst:67 144msgid "" 145"If you want to locate the entry points for all the various calibre " 146"executables, look at the ``entry_points`` structure in `linux.py " 147"<https://github.com/kovidgoyal/calibre/blob/master/src/calibre/linux.py>`_." 148msgstr "" 149 150#: ../../__w/calibre/calibre/manual/develop.rst:71 151msgid "" 152"If you need help understanding the code, post in the `development forum " 153"<https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ and you will " 154"most likely get help from one of calibre's many developers." 155msgstr "" 156 157#: ../../__w/calibre/calibre/manual/develop.rst:75 158msgid "Getting the code" 159msgstr "" 160 161#: ../../__w/calibre/calibre/manual/develop.rst:77 162msgid "" 163"You can get the calibre source code in two ways, using a version control " 164"system or directly downloading a `tarball <https://calibre-" 165"ebook.com/dist/src>`_." 166msgstr "" 167 168#: ../../__w/calibre/calibre/manual/develop.rst:80 169msgid "" 170"calibre uses `Git <https://www.git-scm.com/>`_, a distributed version " 171"control system. Git is available on all the platforms calibre supports. " 172"After installing Git, you can get the calibre source code with the command::" 173msgstr "" 174 175#: ../../__w/calibre/calibre/manual/develop.rst:86 176msgid "" 177"On Windows you will need the complete path name, that will be something like" 178" :file:`C:\\\\Program Files\\\\Git\\\\git.exe`." 179msgstr "" 180 181#: ../../__w/calibre/calibre/manual/develop.rst:88 182msgid "" 183"calibre is a very large project with a very long source control history, so " 184"the above can take a while (10 mins to an hour depending on your internet " 185"speed)." 186msgstr "" 187 188#: ../../__w/calibre/calibre/manual/develop.rst:91 189msgid "" 190"If you want to get the code faster, the source code for the latest release " 191"is always available as an `archive <https://calibre-ebook.com/dist/src>`_." 192msgstr "" 193 194#: ../../__w/calibre/calibre/manual/develop.rst:94 195msgid "To update a branch to the latest code, use the command::" 196msgstr "" 197 198#: ../../__w/calibre/calibre/manual/develop.rst:98 199msgid "" 200"You can also browse the code at `GitHub " 201"<https://github.com/kovidgoyal/calibre>`_." 202msgstr "" 203 204#: ../../__w/calibre/calibre/manual/develop.rst:101 205msgid "Submitting your changes to be included" 206msgstr "" 207 208#: ../../__w/calibre/calibre/manual/develop.rst:103 209msgid "" 210"If you only plan to make a few small changes, you can make your changes and " 211"create a \"merge directive\" which you can then attach to a ticket in the " 212"calibre `bug tracker <https://bugs.launchpad.net/calibre>`_. To do this, " 213"make your changes, then run::" 214msgstr "" 215 216#: ../../__w/calibre/calibre/manual/develop.rst:111 217msgid "" 218"This will create a :file:`my-changes` file in the current folder, simply " 219"attach that to a ticket on the calibre `bug tracker " 220"<https://bugs.launchpad.net/calibre>`_. Note that this will include *all* " 221"the commits you have made. If you only want to send some commits, you have " 222"to change ``origin/master`` above. To send only the last commit, use::" 223msgstr "" 224 225#: ../../__w/calibre/calibre/manual/develop.rst:119 226msgid "" 227"To send the last *n* commits, replace *1* with *n*, for example, for the " 228"last 3 commits::" 229msgstr "" 230 231#: ../../__w/calibre/calibre/manual/develop.rst:124 232msgid "Be careful to not include merges when using ``HEAD~n``." 233msgstr "" 234 235#: ../../__w/calibre/calibre/manual/develop.rst:126 236msgid "" 237"If you plan to do a lot of development on calibre, then the best method is " 238"to create a `GitHub <https://github.com>`__ account. Below is a basic guide " 239"to setting up your own fork of calibre in a way that will allow you to " 240"submit pull requests for inclusion into the main calibre repository:" 241msgstr "" 242 243#: ../../__w/calibre/calibre/manual/develop.rst:131 244msgid "" 245"Setup git on your machine as described in this article: `Setup Git " 246"<https://help.github.com/articles/set-up-git>`_" 247msgstr "" 248 249#: ../../__w/calibre/calibre/manual/develop.rst:132 250msgid "" 251"Setup ssh keys for authentication to GitHub, as described here: `Generating " 252"SSH keys <https://help.github.com/articles/generating-ssh-keys>`_" 253msgstr "" 254 255#: ../../__w/calibre/calibre/manual/develop.rst:133 256msgid "" 257"Go to https://github.com/kovidgoyal/calibre and click the :guilabel:`Fork` " 258"button." 259msgstr "" 260 261#: ../../__w/calibre/calibre/manual/develop.rst:134 262msgid "In a Terminal do::" 263msgstr "" 264 265#: ../../__w/calibre/calibre/manual/develop.rst:139 266msgid "" 267"Replace <username> above with your GitHub username. That will get your fork " 268"checked out locally." 269msgstr "" 270 271#: ../../__w/calibre/calibre/manual/develop.rst:140 272msgid "" 273"You can make changes and commit them whenever you like. When you are ready " 274"to have your work merged, do a::" 275msgstr "" 276 277#: ../../__w/calibre/calibre/manual/develop.rst:144 278msgid "" 279"and go to ``https://github.com/<username>/calibre`` and click the " 280":guilabel:`Pull Request` button to generate a pull request that can be " 281"merged." 282msgstr "" 283 284#: ../../__w/calibre/calibre/manual/develop.rst:145 285msgid "" 286"You can update your local copy with code from the main repo at any time by " 287"doing::" 288msgstr "" 289 290#: ../../__w/calibre/calibre/manual/develop.rst:150 291msgid "" 292"You should also keep an eye on the calibre `development forum " 293"<https://www.mobileread.com/forums/forumdisplay.php?f=240>`_. Before making " 294"major changes, you should discuss them in the forum or contact Kovid " 295"directly (his email address is all over the source code)." 296msgstr "" 297 298#: ../../__w/calibre/calibre/manual/develop.rst:156 299msgid "Windows development environment" 300msgstr "" 301 302#: ../../__w/calibre/calibre/manual/develop.rst:158 303#: ../../__w/calibre/calibre/manual/develop.rst:192 304#: ../../__w/calibre/calibre/manual/develop.rst:228 305msgid "" 306"You must also get the calibre source code separately as described above." 307msgstr "" 308 309#: ../../__w/calibre/calibre/manual/develop.rst:160 310msgid "" 311"Install calibre normally, using the Windows installer. Then open a Command " 312"Prompt and change to the previously checked out calibre code folder. For " 313"example::" 314msgstr "" 315 316#: ../../__w/calibre/calibre/manual/develop.rst:165 317#: ../../__w/calibre/calibre/manual/develop.rst:240 318msgid "calibre is the folder that contains the src and resources sub-folders." 319msgstr "" 320 321#: ../../__w/calibre/calibre/manual/develop.rst:167 322msgid "" 323"The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to" 324" the absolute path of the src folder. So, following the example above, it " 325"would be ``C:\\Users\\kovid\\work\\calibre\\src``. `Here is a short guide " 326"<https://docs.python.org/using/windows.html#excursus-setting-environment-" 327"variables>`_ to setting environment variables on Windows." 328msgstr "" 329 330#: ../../__w/calibre/calibre/manual/develop.rst:172 331msgid "" 332"Once you have set the environment variable, open a new command prompt and " 333"check that it was correctly set by using the command::" 334msgstr "" 335 336#: ../../__w/calibre/calibre/manual/develop.rst:177 337#: ../../__w/calibre/calibre/manual/develop.rst:251 338msgid "" 339"Setting this environment variable means that calibre will now load all its " 340"Python code from the specified location." 341msgstr "" 342 343#: ../../__w/calibre/calibre/manual/develop.rst:179 344msgid "" 345"That's it! You are now ready to start hacking on the calibre code. For " 346"example, open the file :file:`src\\\\calibre\\\\__init__.py` in your " 347"favorite editor and add the line::" 348msgstr "" 349 350#: ../../__w/calibre/calibre/manual/develop.rst:184 351#: ../../__w/calibre/calibre/manual/develop.rst:258 352msgid "" 353"near the top of the file. Now run the command :command:`calibredb`. The very" 354" first line of output should be ``Hello, world!``." 355msgstr "" 356 357#: ../../__w/calibre/calibre/manual/develop.rst:186 358msgid "" 359"You can also setup a calibre development environment inside the free " 360"Microsoft Visual Studio, if you like, following the instructions `here " 361"<https://www.mobileread.com/forums/showthread.php?t=251201>`_." 362msgstr "" 363 364#: ../../__w/calibre/calibre/manual/develop.rst:190 365msgid "macOS development environment" 366msgstr "" 367 368#: ../../__w/calibre/calibre/manual/develop.rst:194 369msgid "" 370"Install calibre normally using the provided .dmg. Then open a Terminal and " 371"change to the previously checked out calibre code folder, for example::" 372msgstr "" 373 374#: ../../__w/calibre/calibre/manual/develop.rst:199 375msgid "" 376"calibre is the folder that contains the src and resources sub-folders. The " 377"calibre command line tools are found inside the calibre app bundle, in " 378":file:`/Applications/calibre.app/Contents/MacOS` you should add this folder " 379"to your PATH environment variable, if you want to run the command line tools" 380" easily." 381msgstr "" 382 383#: ../../__w/calibre/calibre/manual/develop.rst:205 384msgid "" 385"The next step is to create a bash script that will set the environment " 386"variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder " 387"when running calibre in debug mode." 388msgstr "" 389 390#: ../../__w/calibre/calibre/manual/develop.rst:207 391msgid "Create a plain text file::" 392msgstr "" 393 394#: ../../__w/calibre/calibre/manual/develop.rst:213 395msgid "" 396"Save this file as ``/usr/bin/calibre-develop``, then set its permissions so " 397"that it can be executed::" 398msgstr "" 399 400#: ../../__w/calibre/calibre/manual/develop.rst:217 401msgid "Once you have done this, run::" 402msgstr "" 403 404#: ../../__w/calibre/calibre/manual/develop.rst:221 405msgid "" 406"You should see some diagnostic information in the Terminal window as calibre" 407" starts up, and you should see an asterisk after the version number in the " 408"GUI window, indicating that you are running from source." 409msgstr "" 410 411#: ../../__w/calibre/calibre/manual/develop.rst:226 412msgid "Linux development environment" 413msgstr "" 414 415#: ../../__w/calibre/calibre/manual/develop.rst:230 416msgid "" 417"calibre is primarily developed on Linux. You have two choices in setting up " 418"the development environment. You can install the calibre binary as normal " 419"and use that as a runtime environment to do your development. This approach " 420"is similar to that used in Windows and macOS. Alternatively, you can install" 421" calibre from source. Instructions for setting up a development environment " 422"from source are in the INSTALL file in the source tree. Here we will address" 423" using the binary as a runtime, which is the recommended method." 424msgstr "" 425 426#: ../../__w/calibre/calibre/manual/develop.rst:236 427msgid "" 428"Install calibre using the binary installer. Then open a terminal and change " 429"to the previously checked out calibre code folder, for example::" 430msgstr "" 431 432#: ../../__w/calibre/calibre/manual/develop.rst:242 433msgid "" 434"The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to" 435" the absolute path of the src folder. So, following the example above, it " 436"would be ``/home/kovid/work/calibre/src``. How to set environment variables " 437"depends on your Linux distribution and what shell you are using." 438msgstr "" 439 440#: ../../__w/calibre/calibre/manual/develop.rst:246 441msgid "" 442"Once you have set the environment variable, open a new terminal and check " 443"that it was correctly set by using the command::" 444msgstr "" 445 446#: ../../__w/calibre/calibre/manual/develop.rst:253 447msgid "" 448"That's it! You are now ready to start hacking on the calibre code. For " 449"example, open the file :file:`src/calibre/__init__.py` in your favorite " 450"editor and add the line::" 451msgstr "" 452 453#: ../../__w/calibre/calibre/manual/develop.rst:261 454msgid "" 455"Having separate \"normal\" and \"development\" calibre installs on the same " 456"computer" 457msgstr "" 458 459#: ../../__w/calibre/calibre/manual/develop.rst:263 460msgid "" 461"The calibre source tree is very stable and rarely breaks, but if you feel " 462"the need to run from source on a separate test library and run the released " 463"calibre version with your everyday library, you can achieve this easily " 464"using .bat files or shell scripts to launch calibre. The example below shows" 465" how to do this on Windows using .bat files (the instructions for other " 466"platforms are the same, just use a shell script instead of a .bat file)" 467msgstr "" 468 469#: ../../__w/calibre/calibre/manual/develop.rst:268 470msgid "To launch the release version of calibre with your everyday library:" 471msgstr "" 472 473#: ../../__w/calibre/calibre/manual/develop.rst:270 474msgid "calibre-normal.bat::" 475msgstr "" 476 477#: ../../__w/calibre/calibre/manual/develop.rst:274 478msgid "calibre-dev.bat::" 479msgstr "" 480 481#: ../../__w/calibre/calibre/manual/develop.rst:281 482msgid "Debugging tips" 483msgstr "" 484 485#: ../../__w/calibre/calibre/manual/develop.rst:283 486msgid "" 487"Python is a dynamically typed language with excellent facilities for " 488"introspection. Kovid wrote the core calibre code without once using a " 489"debugger. There are many strategies to debug calibre code:" 490msgstr "" 491 492#: ../../__w/calibre/calibre/manual/develop.rst:288 493msgid "Using print statements" 494msgstr "" 495 496#: ../../__w/calibre/calibre/manual/develop.rst:290 497msgid "" 498"This is Kovid's favorite way to debug. Simply insert print statements at " 499"points of interest and run your program in the terminal. For example, you " 500"can start the GUI from the terminal as::" 501msgstr "" 502 503#: ../../__w/calibre/calibre/manual/develop.rst:295 504msgid "Similarly, you can start the E-book viewer as::" 505msgstr "" 506 507#: ../../__w/calibre/calibre/manual/develop.rst:299 508msgid "The e-book-editor can be started as::" 509msgstr "" 510 511#: ../../__w/calibre/calibre/manual/develop.rst:304 512msgid "Using an interactive Python interpreter" 513msgstr "" 514 515#: ../../__w/calibre/calibre/manual/develop.rst:306 516msgid "" 517"You can insert the following two lines of code to start an interactive " 518"Python session at that point::" 519msgstr "" 520 521#: ../../__w/calibre/calibre/manual/develop.rst:311 522msgid "" 523"When running from the command line, this will start an interactive Python " 524"interpreter with access to all locally defined variables (variables in the " 525"local scope). The interactive prompt even has TAB completion for object " 526"properties and you can use the various Python facilities for introspection, " 527"such as :func:`dir`, :func:`type`, :func:`repr`, etc." 528msgstr "" 529 530#: ../../__w/calibre/calibre/manual/develop.rst:317 531msgid "Using the Python debugger as a remote debugger" 532msgstr "" 533 534#: ../../__w/calibre/calibre/manual/develop.rst:319 535msgid "" 536"You can use the builtin Python debugger (pdb) as a remote debugger from the " 537"command line. First, start the remote debugger at the point in the calibre " 538"code you are interested in, like this::" 539msgstr "" 540 541#: ../../__w/calibre/calibre/manual/develop.rst:326 542msgid "" 543"Then run calibre, either as normal, or using one of the calibre-debug " 544"commands described in the previous section. Once the above point in the code" 545" is reached, calibre will freeze, waiting for the debugger to connect." 546msgstr "" 547 548#: ../../__w/calibre/calibre/manual/develop.rst:330 549msgid "" 550"Now open a terminal or command prompt and use the following command to start" 551" the debugging session::" 552msgstr "" 553 554#: ../../__w/calibre/calibre/manual/develop.rst:335 555msgid "" 556"You can read about how to use the Python debugger in the `Python stdlib docs" 557" for the pdb module <https://docs.python.org/library/pdb.html#debugger-" 558"commands>`_." 559msgstr "" 560 561#: ../../__w/calibre/calibre/manual/develop.rst:339 562msgid "" 563"By default, the remote debugger will try to connect on port 4444. You can " 564"change it, by passing the port parameter to both the set_trace() and the " 565"cli() functions above, like this: ``set_trace(port=1234)`` and " 566"``cli(port=1234)``." 567msgstr "" 568 569#: ../../__w/calibre/calibre/manual/develop.rst:345 570msgid "" 571"The Python debugger cannot handle multiple threads, so you have to call " 572"set_trace once per thread, each time with a different port number." 573msgstr "" 574 575#: ../../__w/calibre/calibre/manual/develop.rst:349 576msgid "Using the debugger in your favorite Python IDE" 577msgstr "" 578 579#: ../../__w/calibre/calibre/manual/develop.rst:351 580msgid "" 581"It is possible to use the builtin debugger in your favorite Python IDE, if " 582"it supports remote debugging. The first step is to add the calibre src " 583"checkout to the ``PYTHONPATH`` in your IDE. In other words, the folder you " 584"set as ``CALIBRE_DEVELOP_FROM`` above, must also be in the ``PYTHONPATH`` of" 585" your IDE." 586msgstr "" 587 588#: ../../__w/calibre/calibre/manual/develop.rst:356 589msgid "" 590"Then place the IDE's remote debugger module into the :file:`src` sub-folder " 591"of the calibre source code checkout. Add whatever code is needed to launch " 592"the remote debugger to calibre at the point of interest, for example in the " 593"main function. Then run calibre as normal. Your IDE should now be able to " 594"connect to the remote debugger running inside calibre." 595msgstr "" 596 597#: ../../__w/calibre/calibre/manual/develop.rst:363 598msgid "Executing arbitrary scripts in the calibre Python environment" 599msgstr "" 600 601#: ../../__w/calibre/calibre/manual/develop.rst:365 602msgid "" 603"The :command:`calibre-debug` command provides a couple of handy switches to " 604"execute your own code, with access to the calibre modules::" 605msgstr "" 606 607#: ../../__w/calibre/calibre/manual/develop.rst:370 608msgid "" 609"is great for testing a little snippet of code on the command line. It works " 610"in the same way as the -c switch to the Python interpreter::" 611msgstr "" 612 613#: ../../__w/calibre/calibre/manual/develop.rst:374 614msgid "" 615"can be used to execute your own Python script. It works in the same way as " 616"passing the script to the Python interpreter, except that the calibre " 617"environment is fully initialized, so you can use all the calibre code in " 618"your script. To use command line arguments with your script, use the form::" 619msgstr "" 620 621#: ../../__w/calibre/calibre/manual/develop.rst:379 622msgid "" 623"The ``--`` causes all subsequent arguments to be passed to your script." 624msgstr "" 625 626#: ../../__w/calibre/calibre/manual/develop.rst:383 627msgid "Using calibre in your projects" 628msgstr "" 629 630#: ../../__w/calibre/calibre/manual/develop.rst:385 631msgid "" 632"It is possible to directly use calibre functions/code in your Python " 633"project. Two ways exist to do this:" 634msgstr "" 635 636#: ../../__w/calibre/calibre/manual/develop.rst:388 637msgid "Binary install of calibre" 638msgstr "" 639 640#: ../../__w/calibre/calibre/manual/develop.rst:390 641msgid "" 642"If you have a binary install of calibre, you can use the Python interpreter " 643"bundled with calibre, like this::" 644msgstr "" 645 646#: ../../__w/calibre/calibre/manual/develop.rst:395 647msgid "Source install on Linux" 648msgstr "" 649 650#: ../../__w/calibre/calibre/manual/develop.rst:397 651msgid "" 652"In addition to using the above technique, if you do a source install on " 653"Linux, you can also directly import calibre, as follows::" 654msgstr "" 655 656#: ../../__w/calibre/calibre/manual/develop.rst:405 657msgid "" 658"It is essential that you import the init_calibre module before any other " 659"calibre modules/packages as it sets up the interpreter to run calibre code." 660msgstr "" 661 662#: ../../__w/calibre/calibre/manual/develop.rst:409 663msgid "API documentation for various parts of calibre" 664msgstr "" 665