The PythonScript class implements a interface for calling short-lived python utility scripts.
#include <pythonscript.h>
|
|
bool | m_debug |
|
bool | m_packageMode = false |
|
QString | m_pythonInterpreter |
|
QString | m_pixi |
|
QString | m_scriptFilePath |
|
QString | m_packageDir |
|
QString | m_packageCommand |
|
QString | m_packageIdentifier |
|
QString | m_packageDisplayName |
|
QStringList | m_errors |
|
QProcess * | m_process |
◆ PythonScript() [1/2]
| PythonScript |
( |
const QString & | scriptFilePath_, |
|
|
QObject * | parent_ = nullptr ) |
|
explicit |
Constructors
- Parameters
-
| scriptFilePath_ | Absolute path to python script. |
◆ PythonScript() [2/2]
| PythonScript |
( |
QObject * | parent_ = nullptr | ) |
|
|
explicit |
Constructors
- Parameters
-
| scriptFilePath_ | Absolute path to python script. |
◆ debug()
- Returns
- True if debugging of python I/O is enabled.
◆ scriptFilePath()
| QString scriptFilePath |
( |
| ) |
const |
- Returns
- The path to the generator file.
◆ setScriptFilePath()
| void setScriptFilePath |
( |
const QString & | scriptFile | ) |
|
Set the path to the input generator script file. This will reset any cached data held by this class.
◆ setPackageInfo()
| void setPackageInfo |
( |
const QString & | packageDir, |
|
|
const QString & | command, |
|
|
const QString & | identifier, |
|
|
const QString & | displayName = QString() ) |
Enable package mode. In this mode, execute() runs "pixi run <command> <identifier> [args]" with packageDir as the working directory, instead of launching a script file via python.
◆ isPackageMode()
| bool isPackageMode |
( |
| ) |
const |
- Returns
- True if this script is in package mode.
◆ packageDir()
| QString packageDir |
( |
| ) |
const |
- Returns
- The package directory (only meaningful in package mode).
◆ packageCommand()
| QString packageCommand |
( |
| ) |
const |
- Returns
- The package command (only meaningful in package mode).
◆ packageIdentifier()
| QString packageIdentifier |
( |
| ) |
const |
- Returns
- The package identifier (only meaningful in package mode).
◆ packageDisplayName()
| QString packageDisplayName |
( |
| ) |
const |
- Returns
- The package display name from metadata, if one was provided.
◆ hasErrors()
- Returns
- True if an error is set.
◆ clearErrors()
◆ errorList()
| QStringList errorList |
( |
| ) |
const |
- Returns
- A QStringList containing all errors that occurred in the last call to the input generator script.
◆ setDefaultPythonInterpreter()
| void setDefaultPythonInterpreter |
( |
| ) |
|
Reset the python interpretor path. The following are checked, in order:
- The AVO_PYTHON_INTERPRETER environment variable
- The "interpreters/python" QSettings value
- The path specified in avogadropython.h.
◆ execute()
| QByteArray execute |
( |
const QStringList & | args, |
|
|
const QByteArray & | scriptStdin = QByteArray() ) |
Start a new process to execute: "<m_pythonInterpreter> <scriptFilePath()> [args ...]", optionally passing scriptStdin to the processes standard input. Returns the standard output of the process when finished.
◆ asyncExecute()
| void asyncExecute |
( |
const QStringList & | args, |
|
|
const QByteArray & | scriptStdin = QByteArray(), |
|
|
bool | mergedChannels = true, |
|
|
bool | closeWriteChannel = true ) |
Start a new process to execute asynchronously "<m_pythonInterpreter> <scriptFilePath()> [args ...]", optionally passing scriptStdin to the processes standard input. If closeWriteChannel is false, stdin remains open for follow-up writes.
Will send asyncFinished() signal when finished
◆ asyncWriteAndResponse()
| QByteArray asyncWriteAndResponse |
( |
QByteArray | input | ) |
|
Write input to the asynchronous process' standard input and return the standard output when ready. Does not wait for the process to terminate before returning (e.g. "server mode").
- Parameters
-
| input | The input to write to the process' standard input |
- Returns
- The standard output of the process
◆ asyncWriteAndResponseRaw()
| QByteArray asyncWriteAndResponseRaw |
( |
const QByteArray & | input, |
|
|
int | timeoutMs = 5000 ) |
Write input to the asynchronous process' standard input and return raw bytes from stdout. Unlike asyncWriteAndResponse(), this does not require line-oriented output and is suitable for framed binary protocols.
◆ asyncTerminate()
Terminate the asynchronous process.
◆ asyncResponse()
| QByteArray asyncResponse |
( |
| ) |
|
Returns the standard output of the asynchronous process when finished.
◆ finished
The asynchronous execution is finished or timed out
◆ setDebug
Enable/disable debugging.
◆ processFinished
| void processFinished |
( |
int | exitCode, |
|
|
QProcess::ExitStatus | exitStatus ) |
|
slot |
Handle a finished process;
The documentation for this class was generated from the following file: