mirror of
https://github.com/LibreOffice/help.git
synced 2026-01-13 05:38:56 +00:00
Replacement done with
find . -name \*.xhp -print0 |xargs -0 -P 0 perl -CS -pi -e \
's#(<link[^>]*?) +name *="[^"]*" *( [^>]+|) *>#$1$2>#g'
(note some inconsistencies with space between name and = and also having
empty value, and some more complicated expression to also clear up
double space before/after the attribute)
translation files will be prepped with:
find */helpcontent2 -name \*.po -print0 |xargs -0 -P 0 perl -CS -pi -e \
$'s#(<link[^>]*?) +name=(?:\\\\"[^"]*\\\\"|\'[^\']*\') *( [^>]+|) *(/?>)#$1$2$3#g unless /^#/'
(note that not all languages use the " as quote character for the
attributes, but that also single quotes appera in the po file. Hence
the use of the shell $'string' syntax to be able to quote ' as \'
It also requires to quote the backslash, so that it needs to be escaped
once for the shell, then another time for perl. Also don't work on
obsolete strings (those are prefixed with #~ in the po files)
Also note that <link..></link> gets turned into <link ../> during
translation extraction (along with removal of the space between the
attribute name and the value), so the pattern needs to be slightly
different here)
Change-Id: I95e53a08e6b0095cd894109ea0de154cc4859d8f
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/143713
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
82 lines
7.0 KiB
XML
82 lines
7.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<helpdocument version="1.0">
|
|
<!--
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
-->
|
|
<meta>
|
|
<topic id="python_shell" indexer="include" status="PUBLISH">
|
|
<title id="tit" xml-lang="en-US">Python Interactive Shell</title>
|
|
<filename>/text/sbasic/python/python_shell.xhp</filename>
|
|
</topic>
|
|
</meta>
|
|
<body>
|
|
<bookmark branch="index" id="N0117">
|
|
<bookmark_value>Python console</bookmark_value>
|
|
<bookmark_value>Python Interactive Shell</bookmark_value>
|
|
<bookmark_value>Python;Shell</bookmark_value>
|
|
</bookmark>
|
|
<section id="pythonshell">
|
|
<h1 id="N0118"><variable id="pythonshell1"><link href="text/sbasic/python/python_shell.xhp">Running Python Interactive Console</link></variable></h1>
|
|
</section>
|
|
<paragraph role="paragraph" id="N0119">The Python interactive console, also known as Python interpreter or Python shell, provides programmers with a quick way to execute commands and try out and test code without creating a file. UNO objects introspection as well as %PRODUCTNAME Python modules documentation can be obtained from the terminal.</paragraph>
|
|
|
|
<note id="par_id851633601202270">From a full-featured %PRODUCTNAME installed package, use either Basic or Python:</note>
|
|
<h2 id="N0121">Using a Basic macro</h2>
|
|
<bascode>
|
|
<paragraph role="bascode" id="N0122" localize="false">Sub interpreter_console</paragraph>
|
|
<paragraph role="bascode" id="bas_id731633624333087" localize="false"> Const UNIX = 4</paragraph>
|
|
<paragraph role="bascode" id="N0123" localize="false"> ps = CreateUnoService("com.sun.star.util.PathSettings")</paragraph>
|
|
<paragraph role="bascode" id="N0124" localize="false"> install_path = ConvertFromURL(ps.Module)</paragraph>
|
|
<paragraph role="bascode" id="bas_id461633624179286" localize="false"> cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","")</paragraph>
|
|
<paragraph role="bascode" id="N0125" localize="false"> Shell(cmd + install_path + GetPathSeparator() + "python" )</paragraph>
|
|
<paragraph role="bascode" id="N0126" localize="false">End Sub</paragraph>
|
|
</bascode>
|
|
|
|
<h2 id="N0127">Using a Python macro</h2>
|
|
<pycode>
|
|
<paragraph role="pycode" id="N0128" localize="false"># -*- coding: utf-8 -*-</paragraph>
|
|
<paragraph role="pycode" id="N0129" localize="false">from __future__ import unicode_literals</paragraph>
|
|
<paragraph role="pycode" id="N0130" localize="false"> </paragraph>
|
|
<paragraph role="pycode" id="N0131" localize="false">import uno, os, subprocess</paragraph>
|
|
<paragraph role="pycode" id="N0132" localize="false"> </paragraph>
|
|
<paragraph role="pycode" id="N0133" localize="false">def interpreter_console():</paragraph>
|
|
<paragraph role="pycode" id="N0134" localize="false"> ctx = XSCRIPTCONTEXT.getComponentContext()</paragraph>
|
|
<paragraph role="pycode" id="N0135" localize="false"> smgr = ctx.getServiceManager()</paragraph>
|
|
<paragraph role="pycode" id="N0136" localize="false"> ps = smgr.createInstanceWithContext("com.sun.star.util.PathSettings", ctx)</paragraph>
|
|
<paragraph role="pycode" id="N0137" localize="false"> install_path = uno.fileUrlToSystemPath(ps.Module)</paragraph>
|
|
<paragraph role="pycode" id="N0138" localize="false"> pgm = install_path + os.sep + "python" # Python shell/console path</paragraph>
|
|
<paragraph role="pycode" id="N0139" localize="false"> subprocess.Popen(pgm) # Start Python interactive Shell</paragraph>
|
|
<paragraph role="pycode" id="N0140" localize="false"> </paragraph>
|
|
</pycode>
|
|
<h3 id="N0141">Example output</h3>
|
|
<paragraph role="paragraph" id="N0142">
|
|
<image src="media/helpimg/python/python_interactive_console.png" id="N0143"><alt id="N0143">Python Interactive Console</alt></image>
|
|
</paragraph>
|
|
|
|
<switch select="sys">
|
|
<case select="UNIX">
|
|
<h2 id="hd_id381633446811095">Using the Terminal</h2>
|
|
<note id="par_id801633601715910">From a %PRODUCTNAME copy included in a GNU/Linux platform, use the terminal as shown:</note>
|
|
<paragraph role="paragraph" id="par_id531633444780190"><literal>whereis</literal> or <literal>type</literal> terminal commands help locate Python interactive console:</paragraph>
|
|
<paragraph role="paragraph" id="par_id871633361808210" localize="false"><br/><input>user@computer:~$ </input><emph>type -p python3</emph><br/><input>/usr/bin/python3</input><br/> <input>user@computer:~$ </input><emph>/usr/bin/python3</emph><br/> <input>Python 3.7.5 (default, Nov 20 2019, 09:21:52)</input><br/><input>[GCC 9.2.1 20191008] on linux</input><br/><input>Type "help", "copyright", "credits" or "license" for more information.</input><br/><input>>>> </input><emph>import uno</emph><br/><input>>>> </input><emph>dir(uno)</emph><br/><input>['Any', 'Bool', 'ByteSequence', 'Char', 'Enum', 'PY2', 'Type', '_ConstantGroup', '__builtin__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_import', '_component_context', '_impl_getConstantGroupByName', '_uno_extract_printable_stacktrace', '_uno_import', '_uno_struct__eq__', '_uno_struct__getattr__', '_uno_struct__init__', '_uno_struct__ne__', '_uno_struct__repr__', '_uno_struct__setattr__', '_uno_struct__str__', 'absolutize', 'createUnoStruct', 'fileUrlToSystemPath', 'generateUuid', 'getClass', 'getComponentContext', 'getConstantByName', 'getCurrentContext', 'getTypeByName', 'invoke', 'isInterface', 'os', 'pyuno', 'setCurrentContext', 'six_string_types', 'socket', 'sys', 'systemPathToFileUrl', 'traceback', 'warnings']</input><br/><input>>>> </input><emph>exit()</emph><br/><input>user@computer:~$</input></paragraph>
|
|
</case>
|
|
</switch>
|
|
|
|
<h2 id="hd_id311633513620803">Alternative console</h2>
|
|
<paragraph role="paragraph" id="par_id81632760673283">Use <link href="https://extensions.libreoffice.org/extensions/apso-alternative-script-organizer-for-Python">APSO extension</link> console as an alternative:</paragraph>
|
|
<paragraph role="paragraph" id="N0144">
|
|
<image src="media/helpimg/python/python_shell.png" id="N0144"><alt id="N0144">APSO console</alt></image>
|
|
</paragraph>
|
|
<section id="relatedtopics">
|
|
<embed href="text/sbasic/python/python_examples.xhp#pythonexamples2"/>
|
|
<embed href="text/sbasic/python/main0000.xhp#pythonscriptshelp"/>
|
|
<paragraph role="paragraph" id="par_id351633599611244"><link href="text/sbasic/shared/03/sf_exception.xhp?#PythonShell"><literal>PythonShell</literal></link> function in <link href="text/sbasic/shared/03/sf_exception.xhp"><literal>ScriptForge.Exception</literal></link> service</paragraph>
|
|
|
|
</section>
|
|
</body>
|
|
</helpdocument> |