Пример #1
0
def main():
    args = docopt(__doc__)
    scriptdir = os.path.dirname(os.path.abspath(__file__))
    if "{scriptdir}" in args["--to"]:
        args["--to"] = args["--to"].format(scriptdir=scriptdir)
    log_level = log.DEBUG if args["--debug"] else log.INFO
    log.basicConfig(format="%(levelname)-8s %(message)s", level=log_level)
    tracker = SeverityTracker()
    log.getLogger().addHandler(tracker)
    mirrorer = ACLMirrorer(args)
    for f in args["XMLFILE"]:
        log.info("processing {} ...".format(f))
        mirrorer.download_files(f)
    eprint("\nFiles that could not be downloaded")
    eprint("==================================")
    for elem in mirrorer.not_downloadable:
        eprint(elem)
    eprint("\n\nFiles with checksum mismatch")
    eprint("============================")
    for elem in mirrorer.hash_mismatches:
        eprint(elem)
        for first_letter, people_list in people.items():
            with open("{}/people/{}.yaml".format(outdir, first_letter),
                      "w") as f:
                yaml.dump(people_list, Dumper=Dumper, stream=f)
            progress.update()
        progress.close()


if __name__ == "__main__":
    args = docopt(__doc__)
    scriptdir = os.path.dirname(os.path.abspath(__file__))
    if "{scriptdir}" in args["--importdir"]:
        args["--importdir"] = os.path.abspath(
            args["--importdir"].format(scriptdir=scriptdir))
    if "{scriptdir}" in args["--exportdir"]:
        args["--exportdir"] = os.path.abspath(
            args["--exportdir"].format(scriptdir=scriptdir))

    log_level = log.DEBUG if args["--debug"] else log.INFO
    log.basicConfig(format="%(levelname)-8s %(message)s", level=log_level)
    tracker = SeverityTracker()
    log.getLogger().addHandler(tracker)

    log.info("Reading the Anthology data...")
    anthology = Anthology(importdir=args["--importdir"])
    log.info("Exporting to YAML...")
    export_anthology(anthology, args["--exportdir"], dryrun=args["--dry-run"])

    if tracker.highest >= log.ERROR:
        exit(1)