test_wprm3 / utils.py
iruno's picture
Upload 245 files
498ffec verified
import tokenize
import io
import base64
import numpy as np
from PIL import Image
def remove_inline_comments_safe(code: str) -> str:
result = []
tokens = tokenize.generate_tokens(io.StringIO(code).readline)
last_line = -1
current_line = ''
for tok_type, tok_string, (srow, scol), (_, _), _ in tokens:
if srow != last_line:
if current_line:
result.append(current_line.rstrip())
current_line = ''
last_line = srow
if tok_type == tokenize.COMMENT:
# 주석 무시 (아무 것도 추가하지 않음)
continue
current_line += tok_string
if current_line:
result.append(current_line.rstrip())
return '\n'.join(result)
def image_to_jpg_base64_url(image: Image.Image | np.ndarray) -> str:
"""Return a base64 *JPEG* data‑URL from a PIL image or NumPy array."""
if isinstance(image, np.ndarray):
image = Image.fromarray(image)
if image.mode in {"RGBA", "LA"}:
image = image.convert("RGB")
with io.BytesIO() as buffer:
image.save(buffer, format="JPEG")
encoded: str = base64.b64encode(buffer.getvalue()).decode()
return f"data:image/jpeg;base64,{encoded}"