Example #1
0
def main():
    """
    Configure the logger object and read the command line arguments
    for invoking the generator.

    .. seealso::

        :meth:`HashGenerator.generate`

    """
    HashGenerator.configure_logger(logger)
    NormalizedPatient.configure_logger(logger)

    parser = argparse.ArgumentParser()
    parser.add_argument("-v",
                        "--version",
                        default=False,
                        action='store_true',
                        help="Show the version number")

    parser.add_argument("-c",
                        "--config",
                        default=DEFAULT_SETTINGS_FILE,
                        help="Application config file")
    parser.add_argument(
        '-i',
        '--inputdir',
        # required=True,
        default='.',
        help='input directory name')
    parser.add_argument(
        '-o',
        '--outputdir',
        # required=True,
        default='.',
        help='output directory name')

    args = parser.parse_args()

    if args.version:
        import sys
        print("deduper, version {}".format(__version__))
        sys.exit()

    config = Config(root_path=ROOT_PATH, defaults={})
    config.from_pyfile(args.config)
    start = time.monotonic()
    success = HashGenerator.generate(config, args.inputdir, args.outputdir)
    end = time.monotonic()
    elapsed = (end - start)

    if success:
        logger.info("Done. Process duration: {}".format(
            str(timedelta(seconds=elapsed))))
    else:
        logger.error("Failed!")
 def setUp(self):
     super(TestHashGenerator, self).setUp()
     HashGenerator.configure_logger(logger)
     NormalizedPatient.configure_logger(logger)