def cli(ctx, db, fuzzy, no_abbr, input, output): config = Config(db, fuzzy) with open(input, 'r', encoding='utf-8') as fp: bib = bibtexparser.load(fp) failed = False for entry in bib.entries: filter_entry(config, entry) if no_abbr: continue try: journal_name = entry['journal'] except KeyError: continue else: abbr = config.lookup(journal_name) if abbr: entry['journal'] = abbr else: failed = True with open(output, 'w', encoding='utf-8') as fp: bibtexparser.dump(bib, fp) if failed: ctx.exit(1)
def query(ctx, db, no_fuzzy, journal_name): """Query journal abbreviations database.""" config = Config(db, not no_fuzzy) abbr = config.lookup(journal_name) if abbr: click.echo(abbr) else: ctx.exit(1)
def write_config(): """Create a user config file with default values.""" path = Config.create_user_config() click.echo('Config written to {}'.format(path))