ffa13225d6d8 — Phillip Alday 8 years ago
add support for newer versions of bibtexparser
1 files changed, 10 insertions(+), 2 deletions(-)

M extractbib.py
M extractbib.py +10 -2
@@ 35,14 35,22 @@ non_local_fields = ['address',
                     'series',
                     'title',
                     'url',
+                    'link',
                     'volume',
                     'year',
                   ]
 
 def dict2bib(ke,di):
-   b = "@"+di['type'].upper()+"{"+ke+",\n"
+   # it seems the type field changed between different bibtexparser versions
+   try:
+      b = "@"+di['type'].upper()+"{"+ke+",\n"
+   except KeyError:
+      b = "@"+di['ENTRYTYPE'].upper()+"{"+ke+",\n"
+
    for (k, v) in sorted(di.iteritems()):
-      if k.lower() in non_local_fields:
+      if k.lower().strip() in non_local_fields:
+         if k == 'link':
+            k = 'url'
          b += '\t' + k + ' = {'+v+'},\n'
    b += '}\n'
    return b