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: English (Australia) (http://www.transifex.com/calibre/calibre/language/en_AU/)\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Language: en_AU\n"
18"Plural-Forms: nplurals=2; plural=(n != 1);\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