Sun, 15 Sep 2024 16:56:58 +0200
Added a QProcess derived class with timeout and changed the pip interface to use that class.
<!DOCTYPE html> <html><head> <title>eric7.EricCore.EricProcess</title> <meta charset="UTF-8"> <link rel="stylesheet" href="styles.css"> </head> <body> <a NAME="top" ID="top"></a> <h1>eric7.EricCore.EricProcess</h1> <p> Module implementing a QProcess derived class with a timeout and convenience signals. </p> <h3>Global Attributes</h3> <table> <tr><td>None</td></tr> </table> <h3>Classes</h3> <table> <tr> <td><a href="#EricProcess">EricProcess</a></td> <td>Class implementing a QProcess derived class with a timeout and convenience signals succeeded and failed.</td> </tr> </table> <h3>Functions</h3> <table> <tr><td>None</td></tr> </table> <hr /> <hr /> <a NAME="EricProcess" ID="EricProcess"></a> <h2>EricProcess</h2> <p> Class implementing a QProcess derived class with a timeout and convenience signals succeeded and failed. </p> <h3>Signals</h3> <dl> <dt>failed()</dt> <dd> emitted to indicate a process failure </dd> <dt>succeeded()</dt> <dd> emitted to indicate that the process finished successfully </dd> <dt>timeout()</dt> <dd> emitted to indicate the expiry of the configured timeout value </dd> </dl> <h3>Derived from</h3> QProcess <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> </table> <h3>Class Methods</h3> <table> <tr><td>None</td></tr> </table> <h3>Methods</h3> <table> <tr> <td><a href="#EricProcess.__init__">EricProcess</a></td> <td>Constructor</td> </tr> <tr> <td><a href="#EricProcess.__finished">__finished</a></td> <td>Private slot handling the end of the process.</td> </tr> <tr> <td><a href="#EricProcess.__started">__started</a></td> <td>Private slot handling the process start.</td> </tr> <tr> <td><a href="#EricProcess.__timeout">__timeout</a></td> <td>Private slot to handle the timer interval exoiration.</td> </tr> <tr> <td><a href="#EricProcess.timedOut">timedOut</a></td> <td>Public method to test, if the process timed out.</td> </tr> <tr> <td><a href="#EricProcess.timeoutInterval">timeoutInterval</a></td> <td>Public method to get the process timeout interval.</td> </tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> <a NAME="EricProcess.__init__" ID="EricProcess.__init__"></a> <h4>EricProcess (Constructor)</h4> <b>EricProcess</b>(<i>timeout=30000, parent=None</i>) <p> Constructor </p> <dl> <dt><i>timeout</i> (int (optional))</dt> <dd> timeout value in milliseconds. If the process does not finish within this interval, it is killed. (defaults to 30000) </dd> <dt><i>parent</i> (QObject (optional))</dt> <dd> reference to the parent object (defaults to None) </dd> </dl> <a NAME="EricProcess.__finished" ID="EricProcess.__finished"></a> <h4>EricProcess.__finished</h4> <b>__finished</b>(<i>exitCode, exitStatus</i>) <p> Private slot handling the end of the process. </p> <dl> <dt><i>exitCode</i> (int)</dt> <dd> exit code of the process (0 = success) </dd> <dt><i>exitStatus</i> (QProcess.ExitStatus)</dt> <dd> exit status of the process </dd> </dl> <a NAME="EricProcess.__started" ID="EricProcess.__started"></a> <h4>EricProcess.__started</h4> <b>__started</b>(<i></i>) <p> Private slot handling the process start. </p> <a NAME="EricProcess.__timeout" ID="EricProcess.__timeout"></a> <h4>EricProcess.__timeout</h4> <b>__timeout</b>(<i></i>) <p> Private slot to handle the timer interval exoiration. </p> <a NAME="EricProcess.timedOut" ID="EricProcess.timedOut"></a> <h4>EricProcess.timedOut</h4> <b>timedOut</b>(<i></i>) <p> Public method to test, if the process timed out. </p> <dl> <dt>Return:</dt> <dd> flag indicating a timeout </dd> </dl> <dl> <dt>Return Type:</dt> <dd> bool </dd> </dl> <a NAME="EricProcess.timeoutInterval" ID="EricProcess.timeoutInterval"></a> <h4>EricProcess.timeoutInterval</h4> <b>timeoutInterval</b>(<i></i>) <p> Public method to get the process timeout interval. </p> <dl> <dt>Return:</dt> <dd> process timeout interval in milliseconds </dd> </dl> <dl> <dt>Return Type:</dt> <dd> int </dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html>