Files
Aniworld/fix_test_patches.py
Lukas 56b4975d10 Complete Task 5: NFO Management API Endpoints
- Added comprehensive API documentation for NFO endpoints
- Section 6 in API.md with all 8 endpoints documented
- Updated task5_status.md to reflect 100% completion
- Marked Task 5 complete in instructions.md
- All 17 tests passing (1 skipped by design)
- Endpoints: check, create, update, content, media status, download, batch, missing
2026-01-16 18:41:48 +01:00

69 lines
2.3 KiB
Python

#!/usr/bin/env python3
"""Script to remove patch contexts from test file."""
import re
# Read the file
with open('tests/api/test_nfo_endpoints.py', 'r') as f:
lines = f.readlines()
new_lines = []
i = 0
while i < len(lines):
line = lines[i]
# Check if this line starts a patch context
if re.match(r'\s+with patch\(', line) or re.match(r'\s+with patch', line):
# Found start of patch context, skip it and find the end
indent = len(line) - len(line.lstrip())
# Skip this line and all continuation lines
while i < len(lines):
current = lines[i]
# If it's a continuation (ends with comma or backslash) or contains patch/return_value
if (current.rstrip().endswith(',') or
current.rstrip().endswith('\\') or
'patch(' in current or
'return_value=' in current):
i += 1
continue
# If it's the closing '):'
if current.strip() == '):':
i += 1
break
# Otherwise we're past the patch context
break
# Now dedent the code that was inside the context
# Continue until we find a line at the same or less indent level
context_indent = indent + 4 # Code inside 'with' is indented 4 more
while i < len(lines):
current = lines[i]
current_indent = len(current) - len(current.lstrip())
# If it's a blank line, keep it
if not current.strip():
new_lines.append(current)
i += 1
continue
# If we're back to original indent or less, we're done with this context
if current_indent <= indent and current.strip():
break
# Dedent by 4 spaces if it's indented more than original
if current_indent > indent:
new_lines.append(' ' * (current_indent - 4) + current.lstrip())
else:
new_lines.append(current)
i += 1
else:
# Not a patch line, keep it
new_lines.append(line)
i += 1
# Write back
with open('tests/api/test_nfo_endpoints.py', 'w') as f:
f.writelines(new_lines)
print(f"Processed {len(lines)} lines, output {len(new_lines)} lines")