Skip to content

Commit

Permalink
check for valid numerical arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
regosen committed May 25, 2022
1 parent 5aa009c commit b4f81d2
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ behavior options:
--test, --no-embed scan and download only, don't embed artwork
--no-download embed only previously-downloaded artwork
--clear clear artwork from audio file (regardless of finding art)
--force overwrite existing artwork
--force process files regardless of existing artwork
--verbose print verbose logging
--no-skip don't skip previously-scanned files
--throttle THROTTLE number of seconds to wait if request is rejected
Expand Down
16 changes: 14 additions & 2 deletions get_cover_art/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,24 @@
# By default it will scan from the current working directory, you can override this
# with commandline parameters or arguments passed into scan_folder()

def check_art_size(value):
ivalue = int(value)
if ivalue <= 0:
raise argparse.ArgumentTypeError("art-size must be a positive integer")
return ivalue

def check_throttle(value):
fvalue = float(value)
if fvalue < 0:
raise argparse.ArgumentTypeError("throtte cannot be negative")
return fvalue

def get_args():
parser = argparse.ArgumentParser()
parser.add_argument('--path', help="audio file, or folder of audio files (recursive)", default=".")

parser_art = parser.add_argument_group('artwork options')
parser_art.add_argument('--art-size', help="square dimensions of artwork (e.g. 500)", default=DEFAULTS.get('art_size'))
parser_art.add_argument('--art-size', type=check_art_size, help="square dimensions of artwork (e.g. 500)", default=DEFAULTS.get('art_size'))
parser_art.add_argument('--art-dest', '--dest', help="set artwork destination folder", default=DEFAULTS.get('cover_art'))
parser_art.add_argument('--art-dest-inline', '--inline', help="put artwork in same folders as audio files", action='store_true')
parser_art.add_argument('--art-dest-filename', default=DEFAULTS.get('art_dest_filename'), help="set artwork destination filename format. Accepts {artist}, {album}, and {title}. Default '{artist} - {album}.jpg")
Expand All @@ -26,7 +38,7 @@ def get_args():
parser_behavior.add_argument('--force', help="overwrite existing artwork", action='store_true')
parser_behavior.add_argument('--verbose', help="print verbose logging", action='store_true')
parser_behavior.add_argument('--no-skip', '--no_skip', help="don't skip previously-scanned files", action='store_true')
parser_behavior.add_argument('--throttle', help="number of seconds to wait ", default=0)
parser_behavior.add_argument('--throttle', type=check_throttle, help="number of seconds to wait", default=0)

parser_filters = parser.add_argument_group('filter options')
parser_filters.add_argument('--skip-artwork', '--skip_artwork', help="(maintained between runs) file listing destination art files to skip", default=DEFAULTS.get('skip_artwork'))
Expand Down
2 changes: 1 addition & 1 deletion get_cover_art/cover_finder.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def _update(self):
class CoverFinder(object):
def __init__(self, options={}):
options = {k.replace('-', '_'): v for k, v in options.items()}
self.art_size = options.get('art_size', DEFAULTS.get('art_size'))
self.art_size = int(options.get('art_size', DEFAULTS.get('art_size')))
self.ignore_artists = ValueStore(options.get('skip_artists', DEFAULTS.get('skip_artists')))
self.ignore_albums = ValueStore(options.get('skip_albums', DEFAULTS.get('skip_albums')))
self.ignore_artwork = ValueStore(options.get('skip_artwork', DEFAULTS.get('skip_artwork')))
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

setuptools.setup(
name = 'get_cover_art',
version = '1.5.7',
version = '1.5.8',
python_requires = '>=3.5',
author = 'Rego Sen',
author_email = '[email protected]',
Expand Down

0 comments on commit b4f81d2

Please sign in to comment.