Files
MLPproject/.venv/lib/python3.12/site-packages/tifffile/tiffcomment.py
2025-10-23 15:44:32 +02:00

69 lines
1.6 KiB
Python

#!/usr/bin/env python3
# tifffile/tiffcomment.py
"""Print or replace ImageDescription in first page of TIFF file.
Usage: ``tiffcomment [--set comment] file``
"""
from __future__ import annotations
import os
import sys
try:
from .tifffile import tiffcomment
except ImportError:
try:
from tifffile.tifffile import tiffcomment
except ImportError:
from tifffile import tiffcomment
def main(argv: list[str] | None = None) -> int:
"""Tiffcomment command line usage main function."""
comment: str | bytes | None
if argv is None:
argv = sys.argv
if len(argv) > 2 and argv[1] in '--set':
comment = argv[2]
files = argv[3:]
else:
comment = None
files = argv[1:]
if len(files) == 0 or any(f.startswith('-') for f in files):
print()
print(__doc__.strip())
return 0
if comment is None:
pass
elif os.path.exists(comment):
with open(comment, 'rb') as fh:
comment = fh.read()
else:
try:
comment = comment.encode('ascii')
except UnicodeEncodeError as exc:
print(f'{exc}')
assert isinstance(comment, str)
comment = comment.encode()
for file in files:
try:
result = tiffcomment(file, comment)
except Exception as exc:
print(f'{file}: {exc}')
else:
if result:
print(result)
return 0
if __name__ == '__main__':
sys.exit(main())