From 7a186ec82ec41bdb6573864b0eca3e48e2c4ab78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Sat, 24 Feb 2018 21:16:19 +0100 Subject: [PATCH] Add option to select quality measurement method to use --- imgrate.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/imgrate.py b/imgrate.py index ec8fdc5..8a331f7 100755 --- a/imgrate.py +++ b/imgrate.py @@ -50,17 +50,20 @@ class imgrate: if __name__ == '__main__': from os import remove + from sys import exit def parse_arguments(): ap = ArgumentParser() ap.add_argument('images', type=str, nargs='+', help='') ap.add_argument('-d', '--delete', action='store_true', help='Delete all but the best quality image.') ap.add_argument('-q', '--quiet', action='store_true', help='Print quality measurements only.') + ap.add_argument('-m', '--method', type=str, default='quality', help='Select quality measurement to use.') return ap.parse_args() def run(args): - ratings = {image: imgrate(image).quality for image in args.images} + try: ratings = {image: getattr(imgrate(image), args.method) for image in args.images} + except AttributeError: exit('Invalid --method option!') maximum = max(ratings, key=ratings.get) for rating in ratings.keys():