Commit 6af5c0c7c522a7a629dc10940ac1d38dad0be8b5
1 parent
97c22248
Exists in
dev
remove synchronous run_script
Showing
1 changed file
with
42 additions
and
42 deletions
Show diff stats
aprendizations/tools.py
| @@ -20,11 +20,6 @@ logger = logging.getLogger(__name__) | @@ -20,11 +20,6 @@ logger = logging.getLogger(__name__) | ||
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | # ------------------------------------------------------------------------- | 22 | # ------------------------------------------------------------------------- |
| 23 | -# Markdown to HTML renderer with support for LaTeX equations | ||
| 24 | -# ------------------------------------------------------------------------- | ||
| 25 | - | ||
| 26 | - | ||
| 27 | -# ------------------------------------------------------------------------- | ||
| 28 | # Block math: | 23 | # Block math: |
| 29 | # $$x$$ or \begin{equation}x\end{equation} | 24 | # $$x$$ or \begin{equation}x\end{equation} |
| 30 | # ------------------------------------------------------------------------- | 25 | # ------------------------------------------------------------------------- |
| @@ -172,43 +167,48 @@ def load_yaml(filename: str, default: Any = None) -> Any: | @@ -172,43 +167,48 @@ def load_yaml(filename: str, default: Any = None) -> Any: | ||
| 172 | # The script is run in another process but this function blocks waiting | 167 | # The script is run in another process but this function blocks waiting |
| 173 | # for its termination. | 168 | # for its termination. |
| 174 | # --------------------------------------------------------------------------- | 169 | # --------------------------------------------------------------------------- |
| 175 | -def run_script(script: str, | ||
| 176 | - args: List[str] = [], | ||
| 177 | - stdin: str = '', | ||
| 178 | - timeout: int = 2) -> Any: | ||
| 179 | - | ||
| 180 | - script = path.expanduser(script) | ||
| 181 | - try: | ||
| 182 | - cmd = [script] + [str(a) for a in args] | ||
| 183 | - p = subprocess.run(cmd, | ||
| 184 | - input=stdin, | ||
| 185 | - stdout=subprocess.PIPE, | ||
| 186 | - stderr=subprocess.STDOUT, | ||
| 187 | - text=True, # same as universal_newlines=True | ||
| 188 | - timeout=timeout, | ||
| 189 | - ) | ||
| 190 | - except FileNotFoundError: | ||
| 191 | - logger.error(f'Can not execute script "{script}": not found.') | ||
| 192 | - except PermissionError: | ||
| 193 | - logger.error(f'Can not execute script "{script}": wrong permissions.') | ||
| 194 | - except OSError: | ||
| 195 | - logger.error(f'Can not execute script "{script}": unknown reason.') | ||
| 196 | - except subprocess.TimeoutExpired: | ||
| 197 | - logger.error(f'Timeout {timeout}s exceeded while running "{script}".') | ||
| 198 | - except Exception: | ||
| 199 | - logger.error(f'An Exception ocurred running {script}.') | ||
| 200 | - else: | ||
| 201 | - if p.returncode != 0: | ||
| 202 | - logger.error(f'Return code {p.returncode} running "{script}".') | ||
| 203 | - else: | ||
| 204 | - try: | ||
| 205 | - output = yaml.safe_load(p.stdout) | ||
| 206 | - except Exception: | ||
| 207 | - logger.error(f'Error parsing yaml output of "{script}"') | ||
| 208 | - else: | ||
| 209 | - return output | ||
| 210 | - | ||
| 211 | - | 170 | +# def run_script(script: str, |
| 171 | +# args: List[str] = [], | ||
| 172 | +# stdin: str = '', | ||
| 173 | +# timeout: int = 2) -> Any: | ||
| 174 | +# | ||
| 175 | +# script = path.expanduser(script) | ||
| 176 | +# try: | ||
| 177 | +# cmd = [script] + [str(a) for a in args] | ||
| 178 | +# p = subprocess.run(cmd, | ||
| 179 | +# input=stdin, | ||
| 180 | +# stdout=subprocess.PIPE, | ||
| 181 | +# stderr=subprocess.STDOUT, | ||
| 182 | +# text=True, # same as universal_newlines=True | ||
| 183 | +# timeout=timeout, | ||
| 184 | +# ) | ||
| 185 | +# except FileNotFoundError: | ||
| 186 | +# logger.error(f'Can not execute script "{script}": not found.') | ||
| 187 | +# except PermissionError: | ||
| 188 | +# logger.error(f'Can not execute script "{script}": wrong permissions.') | ||
| 189 | +# except OSError: | ||
| 190 | +# logger.error(f'Can not execute script "{script}": unknown reason.') | ||
| 191 | +# except subprocess.TimeoutExpired: | ||
| 192 | +# logger.error(f'Timeout {timeout}s exceeded while running "{script}".') | ||
| 193 | +# except Exception: | ||
| 194 | +# logger.error(f'An Exception ocurred running {script}.') | ||
| 195 | +# else: | ||
| 196 | +# if p.returncode != 0: | ||
| 197 | +# logger.error(f'Return code {p.returncode} running "{script}".') | ||
| 198 | +# else: | ||
| 199 | +# try: | ||
| 200 | +# output = yaml.safe_load(p.stdout) | ||
| 201 | +# except Exception: | ||
| 202 | +# logger.error(f'Error parsing yaml output of "{script}"') | ||
| 203 | +# else: | ||
| 204 | +# return output | ||
| 205 | +# | ||
| 206 | + | ||
| 207 | +# def run_script(script: str, | ||
| 208 | +# args: List[str] = [], | ||
| 209 | +# stdin: str = '', | ||
| 210 | +# timeout: int = 2) -> Any: | ||
| 211 | +# asyncio.run(run_script_async(script, args, stdin, timeout)) | ||
| 212 | # ---------------------------------------------------------------------------- | 212 | # ---------------------------------------------------------------------------- |
| 213 | # Same as above, but asynchronous | 213 | # Same as above, but asynchronous |
| 214 | # ---------------------------------------------------------------------------- | 214 | # ---------------------------------------------------------------------------- |