Fix logger
This commit is contained in:
parent
bfada5e740
commit
62bd72c77e
16
dozo.py
16
dozo.py
|
@ -34,6 +34,15 @@ def _batch(debug):
|
|||
plugins.run_batch()
|
||||
|
||||
|
||||
def get_logger(level=logging.WARNING):
|
||||
logging.basicConfig(format='%(levelname)s:%(message)s', level=level)
|
||||
logging.debug('This message should appear on the console')
|
||||
logging.info('So should this')
|
||||
logging.getLogger('asyncio').setLevel(logging.WARNING)
|
||||
logger = logging.getLogger('dozo')
|
||||
logger.level = level
|
||||
return logger
|
||||
|
||||
@click.command('sort')
|
||||
@click.option('--debug', default=False, is_flag=True,
|
||||
help='Override the value in constants.py with True.')
|
||||
|
@ -79,13 +88,12 @@ def _sort(debug, dry_run, destination, copy, exclude_regex, filter_by_ext, ignor
|
|||
elif verbose:
|
||||
constants.debug = logging.INFO
|
||||
else:
|
||||
constants.debug = logging.ERROR
|
||||
constants.debug = logging.WARNING
|
||||
|
||||
if max_deep is not None:
|
||||
max_deep = int(max_deep)
|
||||
|
||||
logger = logging.getLogger('dozo')
|
||||
logger.setLevel(constants.debug)
|
||||
logger = get_logger(constants.debug)
|
||||
|
||||
cache = True
|
||||
if reset_cache:
|
||||
|
@ -224,6 +232,8 @@ def _compare(debug, dry_run, find_duplicates, output_dir, remove_duplicates,
|
|||
# Initialize Db
|
||||
db = Db(path)
|
||||
|
||||
logger = get_logger(constants.debug)
|
||||
|
||||
filesystem = FileSystem(mode='move', dry_run=dry_run, logger=logger)
|
||||
|
||||
if revert_compare:
|
||||
|
|
|
@ -388,13 +388,13 @@ class FileSystem(object):
|
|||
if metadata['date_original'] is not None:
|
||||
if (date_filename is not None and
|
||||
date_filename != date_original):
|
||||
log.warn(f"{basename} time mark is different from {date_original}")
|
||||
self.logger.warn(f"{basename} time mark is different from {date_original}")
|
||||
# TODO ask for keep date taken, filename time, or neither
|
||||
return metadata['date_original']
|
||||
elif True:
|
||||
if date_filename is not None:
|
||||
if date_created is not None and date_filename > date_created:
|
||||
log.warn(f"{basename} time mark is more recent than {date_created}")
|
||||
self.logger.warn(f"{basename} time mark is more recent than {date_created}")
|
||||
return date_filename
|
||||
if True:
|
||||
if date_created is not None:
|
||||
|
@ -568,7 +568,7 @@ class FileSystem(object):
|
|||
conflict_file_list = set()
|
||||
for src_path, subdirs in self.get_files_in_path(path):
|
||||
# Process files
|
||||
media = get_media_class(src_path, ignore_tags)
|
||||
media = get_media_class(src_path, ignore_tags, self.logger)
|
||||
if media:
|
||||
metadata = media.get_metadata()
|
||||
# Get the destination path according to metadata
|
||||
|
@ -685,7 +685,7 @@ class FileSystem(object):
|
|||
continue
|
||||
checksum1 = db.checksum(image)
|
||||
# Process files
|
||||
# media = get_media_class(src_path, False)
|
||||
# media = get_media_class(src_path, False, self.logger)
|
||||
# TODO compare metadata
|
||||
# if media:
|
||||
# metadata = media.get_metadata()
|
||||
|
|
|
@ -35,7 +35,7 @@ class Media():
|
|||
extensions = PHOTO + AUDIO + VIDEO
|
||||
|
||||
|
||||
def __init__(self, sources=None, ignore_tags=set()):
|
||||
def __init__(self, sources=None, ignore_tags=set(), logger=logging.getLogger()):
|
||||
self.source = sources
|
||||
self.reset_cache()
|
||||
self.date_original = [
|
||||
|
@ -74,6 +74,7 @@ class Media():
|
|||
self.metadata = None
|
||||
self.exif_metadata = None
|
||||
self.ignore_tags = ignore_tags
|
||||
self.logger = logger
|
||||
|
||||
|
||||
def format_metadata(self, **kwargs):
|
||||
|
@ -212,7 +213,7 @@ class Media():
|
|||
|
||||
|
||||
@classmethod
|
||||
def get_class_by_file(cls, _file, classes, ignore_tags=set()):
|
||||
def get_class_by_file(cls, _file, classes, ignore_tags=set(), logger=logging.getLogger()):
|
||||
"""Static method to get a media object by file.
|
||||
"""
|
||||
basestring = (bytes, str)
|
||||
|
@ -230,7 +231,7 @@ class Media():
|
|||
if os.path.basename(_file) == '.DS_Store':
|
||||
return None
|
||||
else:
|
||||
return Media(_file, ignore_tags=ignore_tags)
|
||||
return Media(_file, ignore_tags=ignore_tags, logger=logger)
|
||||
|
||||
|
||||
@classmethod
|
||||
|
@ -362,7 +363,7 @@ class Media():
|
|||
# dt_list = map(int, dt_list)
|
||||
# return datetime(*dt_list)
|
||||
except BaseException or dateutil.parser._parser.ParserError as e:
|
||||
log.error(e)
|
||||
self.logger.error(e)
|
||||
return None
|
||||
|
||||
return None
|
||||
|
@ -604,16 +605,17 @@ def get_all_subclasses(cls=None):
|
|||
return subclasses
|
||||
|
||||
|
||||
def get_media_class(_file, ignore_tags=set()):
|
||||
def get_media_class(_file, ignore_tags=set(), logger=logging.getLogger()):
|
||||
if not os.path.exists(_file):
|
||||
logging.warning(f'Could not find {_file}')
|
||||
logging.error(f'Could not find {_file}')
|
||||
logger.warning(f'Could not find {_file}')
|
||||
logger.error(f'Could not find {_file}')
|
||||
return False
|
||||
|
||||
media = Media.get_class_by_file(_file, get_all_subclasses(), ignore_tags=set())
|
||||
media = Media.get_class_by_file(_file, get_all_subclasses(),
|
||||
ignore_tags=set(), logger=logger)
|
||||
if not media:
|
||||
logging.warning(f'File{_file} is not supported')
|
||||
logging.error(f'File {_file} can\'t be imported')
|
||||
logger.warning(f'File{_file} is not supported')
|
||||
logger.error(f'File {_file} can\'t be imported')
|
||||
return False
|
||||
|
||||
return media
|
||||
|
|
Loading…
Reference in New Issue