diff --git a/bob/bio/base/script/annotate.py b/bob/bio/base/script/annotate.py index e9dc135abbd6e42b19ac39e6d9f39fc709ae6965..2918590eec60532410d4fd6af529f44228311027 100644 --- a/bob/bio/base/script/annotate.py +++ b/bob/bio/base/script/annotate.py @@ -3,7 +3,7 @@ import logging import json import click -from os.path import dirname, isfile +from os.path import dirname, isfile, expanduser from bob.extension.scripts.click_helper import ( verbosity_option, ConfigCommand, ResourceOption) from bob.io.base import create_directories_safe @@ -19,9 +19,12 @@ logger = logging.getLogger(__name__) entry_point_group='bob.bio.annotator') @click.option('--output-dir', '-o', required=True, cls=ResourceOption) @click.option('--force', '-f', is_flag=True, cls=ResourceOption) -@click.option('--array', type=click.INT, default=1,) +@click.option('--array', type=click.INT, default=1, cls=ResourceOption) +@click.option('--database-directories-file', cls=ResourceOption, + default=expanduser('~/.bob_bio_databases.txt')) @verbosity_option(cls=ResourceOption) -def annotate(database, annotator, output_dir, force, array, **kwargs): +def annotate(database, annotator, output_dir, force, array, + database_directories_file, **kwargs): """Annotates a database. The annotations are written in text file (json) format which can be read back using :any:`bob.db.base.read_annotation_file` (annotation_type='json') @@ -60,8 +63,12 @@ def annotate(database, annotator, output_dir, force, array, **kwargs): logger.debug('force: %s', force) logger.debug('output_dir: %s', output_dir) logger.debug('array: %s', array) + logger.debug('database_directories_file: %s', database_directories_file) logger.debug('kwargs: %s', kwargs) + # Some databases need their original_directory to be replaced + database.replace_directories(database_directories_file) + biofiles = database.objects(groups=None, protocol=database.protocol) biofiles = sorted(biofiles)