# HG changeset patch # User Phillip Alday # Date 1535557569 -7200 # Wed Aug 29 17:46:09 2018 +0200 # Node ID bd150ad1d8fd81347823ffa01471f969f6e90596 # Parent 65e2114df2f032908ecb046ed77db2b13de5a83f better compatibility with python 2 + 3 diff --git a/extractbib.py b/extractbib.py --- a/extractbib.py +++ b/extractbib.py @@ -51,7 +51,12 @@ except KeyError: b = "@"+di['ENTRYTYPE'].upper()+"{"+ke+",\n" - for (k, v) in sorted(di.iteritems()): + try: + items = di.iteritems() + except AttributeError: + items = di.items() + + for (k, v) in sorted(items): if k.lower().strip() in non_local_fields: if k == 'link': k = 'url' @@ -81,7 +86,11 @@ ## Step 3 - extract the used entries used_refs = {key: refs[key] for key in keys if key in refs} ## Step 4 - convert the dicts back into bibtex - refs_as_bib = [dict2bib(k, v) for (k, v) in used_refs.iteritems()] + try: + used_refs_iter = used_refs.iteritems() + except AttributeError: + used_refs_iter = used_refs.items() + refs_as_bib = [dict2bib(k, v) for (k, v) in used_refs_iter ] ## Step 5 - write the output file with codecs.open(out_file, 'w', 'utf-8-sig') as of: of.writelines(refs_as_bib)