#!/usr/bin/env python3 import argparse import json import os import re import sys from pathlib import Path from shutil import copyfile import crossref_commons.retrieval parser = argparse.ArgumentParser() parser.add_argument("--DOI",type=str,required=True) parser.add_argument('--abstract', type=Path,help="The html abstract text file",required=False) parser.add_argument('--picture', type=Path,help="The jpeg picture for the graphical abstact",required=False) args=parser.parse_args() scriptpath=Path(sys.argv[0]).resolve() publipath=scriptpath.parents[1]/"static"/"data"/"publis" result=crossref_commons.retrieval.get_publication_as_json(args.DOI) mydir=publipath.joinpath(*re.split("/|\.",args.DOI)) metadata=mydir/"metadata.json" abstract=mydir/"abstract.html" picture=mydir/"picture.jpeg" if not mydir.exists(): os.makedirs(str(mydir)) with open(str(metadata),"w") as f: json.dump(result,f, indent=2) if args.abstract!=None: abstract=mydir/"abstract.html" copyfile(args.abstract,abstract) if args.picture!=None: picture=mydir/"picture.html" copyfile(args.picture,picture)