From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- .../source/text/sbasic/python/python_shell.xhp | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 helpcontent2/source/text/sbasic/python/python_shell.xhp (limited to 'helpcontent2/source/text/sbasic/python/python_shell.xhp') diff --git a/helpcontent2/source/text/sbasic/python/python_shell.xhp b/helpcontent2/source/text/sbasic/python/python_shell.xhp new file mode 100644 index 000000000..52cea354a --- /dev/null +++ b/helpcontent2/source/text/sbasic/python/python_shell.xhp @@ -0,0 +1,81 @@ + + + + + + Python Interactive Shell + /text/sbasic/python/python_shell.xhp + + + + + Python console + Python Interactive Shell + +
+

Running Python Interactive Console

+
+ 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. + + From a full-featured %PRODUCTNAME installed package, use either Basic or Python: +

Using a Basic macro

+ + Sub interpreter_console + Const UNIX = 4 + ps = CreateUnoService("com.sun.star.util.PathSettings") + install_path = ConvertFromURL(ps.Module) + cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","") + Shell(cmd + install_path + GetPathSeparator() + "python" ) + End Sub + + +

Using a Python macro

+ + # -*- coding: utf-8 -*- + from __future__ import unicode_literals + + import uno, os, subprocess + + def interpreter_console(): + ctx = XSCRIPTCONTEXT.getComponentContext() + smgr = ctx.getServiceManager() + ps = smgr.createInstanceWithContext("com.sun.star.util.PathSettings", ctx) + install_path = uno.fileUrlToSystemPath(ps.Module) + pgm = install_path + os.sep + "python" # Python shell/console path + subprocess.Popen(pgm) # Start Python interactive Shell + + +

Example output

+ + Python Interactive Console + + + + +

Using the Terminal

+ From a %PRODUCTNAME copy included in a GNU/Linux platform, use the terminal as shown: + whereis or type terminal commands help locate Python interactive console: +
user@computer:~$ type -p python3
/usr/bin/python3
user@computer:~$ /usr/bin/python3
Python 3.7.5 (default, Nov 20 2019, 09:21:52)
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
>>> dir(uno)
['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']
>>> exit()
user@computer:~$
+
+
+ +

Alternative console

+ Use APSO extension console as an alternative: + + APSO console + +
+ + + PythonShell function in ScriptForge.Exception service + +
+ +
\ No newline at end of file -- cgit v1.2.3