X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
testfixtures
/
ðŸ“
..
📄
__init__.py
(1.19 KB)
ðŸ“
__pycache__
📄
comparison.py
(39.14 KB)
📄
compat.py
(224 B)
📄
components.py
(1.31 KB)
📄
datetime.py
(24.42 KB)
📄
django.py
(2.88 KB)
📄
logcapture.py
(10.75 KB)
📄
mock.py
(1.21 KB)
📄
outputcapture.py
(4.69 KB)
📄
popen.py
(9.89 KB)
📄
replace.py
(12.15 KB)
📄
resolve.py
(2.05 KB)
📄
rmtree.py
(2.52 KB)
📄
shouldraise.py
(3.58 KB)
📄
shouldwarn.py
(2.21 KB)
📄
sybil.py
(2.28 KB)
📄
tempdirectory.py
(12.89 KB)
ðŸ“
tests
📄
twisted.py
(4.8 KB)
📄
utils.py
(2.74 KB)
📄
version.txt
(6 B)
Editing: sybil.py
import os import re import textwrap from sybil import Region, Example, Document from testfixtures import diff FILEBLOCK_START = re.compile(r'^\.\.\s*topic::?\s*(.+)\b', re.MULTILINE) FILEBLOCK_END = re.compile(r'(\n\Z|\n(?=\S))') CLASS = re.compile(r'\s+:class:\s*(read|write)-file') class FileBlock(object): def __init__(self, path, content, action): self.path, self.content, self.action = path, content, action class FileParser(object): """ A `Sybil <http://sybil.readthedocs.io>`__ parser that parses certain ReST sections to read and write files in the configured :class:`~testfixtures.TempDirectory`. :param name: This is the name of the :class:`~testfixtures.TempDirectory` to use in the Sybil test namespace. """ def __init__(self, name: str): self.name = name def __call__(self, document: Document): for start_match, end_match, source in document.find_region_sources( FILEBLOCK_START, FILEBLOCK_END ): lines = source.splitlines() class_ = CLASS.match(lines[1]) if not class_: continue index = 3 if lines[index].strip() == '::': index += 1 source = textwrap.dedent('\n'.join(lines[index:])).lstrip() if source[-1] != '\n': source += '\n' parsed = FileBlock( path=start_match.group(1), content=source, action=class_.group(1) ) yield Region( start_match.start(), end_match.end(), parsed, self.evaluate ) def evaluate(self, example: Example): block: FileBlock = example.parsed dir = example.namespace[self.name] if block.action == 'read': actual = dir.read(block.path, 'ascii').replace(os.linesep, '\n') if actual != block.content: return diff( block.content, actual, 'File %r, line %i:' % (example.path, example.line), 'Reading from "%s":' % dir.as_string(block.path) ) if block.action == 'write': dir.write(block.path, block.content, 'ascii')
Upload File
Create Folder