More decode cleanup
parent
8a85f5c920
commit
76da50d003
@ -1,15 +1,25 @@
|
||||
from PIL import Image
|
||||
from typing import List
|
||||
import pathlib
|
||||
import click
|
||||
from quicktex.cli.encode import encode
|
||||
from quicktex.cli.decode import decode
|
||||
|
||||
|
||||
@click.group()
|
||||
def cli():
|
||||
"""Encode and Decode various image formats"""
|
||||
def get_decoded_extensions(feature: str = 'open') -> List[str]:
|
||||
extensions = Image.registered_extensions() # using registered_extensions() triggers lazy loading of format data
|
||||
formats = getattr(Image, feature.upper()).keys()
|
||||
|
||||
return [ext for ext, fmt in extensions.items() if fmt in formats]
|
||||
|
||||
cli.add_command(encode)
|
||||
cli.add_command(decode)
|
||||
|
||||
if __name__ == '__main__':
|
||||
cli()
|
||||
def validate_decoded_extension(ctx, param, value):
|
||||
if value[0] != '.':
|
||||
value = '.' + value
|
||||
|
||||
if value not in decoded_extensions:
|
||||
raise click.BadParameter(f'Invalid extension for decoded file. Valid extensions are:\n{decoded_extensions}')
|
||||
|
||||
return value
|
||||
|
||||
|
||||
decoded_extensions = get_decoded_extensions()
|
||||
encoded_extensions = '.dds'
|
||||
|
@ -0,0 +1,16 @@
|
||||
import click
|
||||
from quicktex.cli.encode import encode
|
||||
from quicktex.cli.decode import decode
|
||||
|
||||
|
||||
@click.group()
|
||||
@click.version_option()
|
||||
def cli():
|
||||
"""Encode and Decode various image formats"""
|
||||
|
||||
|
||||
cli.add_command(encode)
|
||||
cli.add_command(decode)
|
||||
|
||||
if __name__ == '__main__':
|
||||
cli()
|
Loading…
Reference in New Issue