Server IP : 162.0.209.157 / Your IP : 52.14.140.108 [ Web Server : LiteSpeed System : Linux premium178.web-hosting.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : balaoqob ( 2395) PHP Version : 8.0.30 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/hc_python/lib/python3.8/site-packages/mako/testing/ |
Upload File : |
import contextlib import pathlib from pathlib import Path import re import time from typing import Union from unittest import mock def flatten_result(result): return re.sub(r"[\s\r\n]+", " ", result).strip() def result_lines(result): return [ x.strip() for x in re.split(r"\r?\n", re.sub(r" +", " ", result)) if x.strip() != "" ] def result_raw_lines(result): return [x for x in re.split(r"\r?\n", result) if x.strip() != ""] def make_path( filespec: Union[Path, str], make_absolute: bool = True, check_exists: bool = False, ) -> Path: path = Path(filespec) if make_absolute: path = path.resolve(strict=check_exists) if check_exists and (not path.exists()): raise FileNotFoundError(f"No file or directory at {filespec}") return path def _unlink_path(path, missing_ok=False): # Replicate 3.8+ functionality in 3.7 cm = contextlib.nullcontext() if missing_ok: cm = contextlib.suppress(FileNotFoundError) with cm: path.unlink() def replace_file_with_dir(pathspec): path = pathlib.Path(pathspec) _unlink_path(path, missing_ok=True) path.mkdir(exist_ok=True) return path def file_with_template_code(filespec): with open(filespec, "w") as f: f.write( """ i am an artificial template just for you """ ) return filespec @contextlib.contextmanager def rewind_compile_time(hours=1): rewound = time.time() - (hours * 3_600) with mock.patch("mako.codegen.time") as codegen_time: codegen_time.time.return_value = rewound yield