Merge pull request #67 from noonat/source-arguments

Accept a list of inputs instead of source/file arguments
This commit is contained in:
Jaisen Mathai 2016-01-08 22:43:43 -08:00
commit 6c96e73f23
1 changed files with 19 additions and 6 deletions

View File

@ -27,8 +27,7 @@ def usage():
"""Return usage message """Return usage message
""" """
return """ return """
Usage: elodie.py import --source=<s> --destination=<d> [--album-from-folder] Usage: elodie.py import --destination=<d> [--source=<s>] [--file=<f>] [--album-from-folder] [INPUT ...]
elodie.py import --file=<f> --destination=<d> [--album-from-folder]
elodie.py update [--time=<t>] [--location=<l>] [--album=<a>] [--title=<t>] INPUT ... elodie.py update [--time=<t>] [--location=<l>] [--album=<a>] [--title=<t>] INPUT ...
-h --help show this -h --help show this
@ -41,6 +40,13 @@ FILESYSTEM = FileSystem()
def import_file(_file, destination, album_from_folder): def import_file(_file, destination, album_from_folder):
"""Set file metadata and move it to destination. """Set file metadata and move it to destination.
""" """
if not os.path.exists(_file):
if constants.debug:
print 'Could not find %s' % _file
print '{"source":"%s", "error_msg":"Could not find %s"}' % \
(_file, _file)
return
media = Media.get_class_by_file(_file, [Audio, Photo, Video]) media = Media.get_class_by_file(_file, [Audio, Photo, Video])
if not media: if not media:
if constants.debug: if constants.debug:
@ -65,11 +71,18 @@ def _import(params):
""" """
destination = os.path.expanduser(params['--destination']) destination = os.path.expanduser(params['--destination'])
files = set()
paths = set(params['INPUT'])
if params['--source']: if params['--source']:
source = os.path.expanduser(params['--source']) paths.add(params['--source'])
files = FILESYSTEM.get_all_files(source, None) if params['--file']:
elif params['--file']: paths.add(params['--file'])
files = [os.path.expanduser(params['--file'])] for path in paths:
path = os.path.expanduser(path)
if os.path.isdir(path):
files.update(FILESYSTEM.get_all_files(path, None))
else:
files.add(path)
for current_file in files: for current_file in files:
import_file(current_file, destination, params['--album-from-folder']) import_file(current_file, destination, params['--album-from-folder'])