fr/fr_env/lib/python3.8/site-packages/tifffile/tiffcomment.py

63 lines
1.4 KiB
Python
Raw Normal View History

2021-02-17 12:26:31 +05:30
#!/usr/bin/env python3
# tiffcomment.py
"""Print or replace ImageDescription in first page of TIFF file.
Usage: tiffcomment [--set comment] file
"""
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=None):
"""Tiffcomment command line usage main function."""
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
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}')
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)
if __name__ == '__main__':
sys.exit(main())