Commit 9929f336 authored by Administrator's avatar Administrator

[FIX] inherited variables to adapt parsing according Isi or Ris or Zotero.

parent f2f231c7
...@@ -4,14 +4,18 @@ from .RisFileParser import RisFileParser ...@@ -4,14 +4,18 @@ from .RisFileParser import RisFileParser
class IsiFileParser(RisFileParser): class IsiFileParser(RisFileParser):
_parameters = { def __init__(self):
b"ER": {"type": "delimiter"}, super(RisFileParser, self).__init__()
b"TI": {"type": "metadata", "key": "title", "separator": " "}, self._parameters = {
b"AU": {"type": "metadata", "key": "authors", "separator": ", "}, b"ER": {"type": "delimiter"},
b"DI": {"type": "metadata", "key": "doi"}, b"TI": {"type": "metadata", "key": "title", "separator": " "},
b"PY": {"type": "metadata", "key": "publication_year"}, b"AU": {"type": "metadata", "key": "authors", "separator": ", "},
b"PD": {"type": "metadata", "key": "publication_month"}, b"DI": {"type": "metadata", "key": "doi"},
b"LA": {"type": "metadata", "key": "language_fullname"}, b"PY": {"type": "metadata", "key": "publication_year"},
b"AB": {"type": "metadata", "key": "abstract", "separator": " "}, b"PD": {"type": "metadata", "key": "publication_month"},
b"WC": {"type": "metadata", "key": "fields"}, b"LA": {"type": "metadata", "key": "language_fullname"},
} b"AB": {"type": "metadata", "key": "abstract", "separator": " "},
b"WC": {"type": "metadata", "key": "fields"},
}
self._begin = 3
...@@ -2,17 +2,20 @@ from .RisFileParser import RisFileParser ...@@ -2,17 +2,20 @@ from .RisFileParser import RisFileParser
class JstorFileParser(RisFileParser): class JstorFileParser(RisFileParser):
def __init__(self):
super(RisFileParser, self).__init__()
_parameters = { _parameters = {
b"ER": {"type": "delimiter"}, b"ER": {"type": "delimiter"},
b"TI": {"type": "metadata", "key": "title", "separator": " "}, b"TI": {"type": "metadata", "key": "title", "separator": " "},
b"AU": {"type": "metadata", "key": "authors", "separator": ", "}, b"AU": {"type": "metadata", "key": "authors", "separator": ", "},
b"UR": {"type": "metadata", "key": "doi"}, b"UR": {"type": "metadata", "key": "doi"},
b"Y1": {"type": "metadata", "key": "publication_year"}, b"Y1": {"type": "metadata", "key": "publication_year"},
b"PD": {"type": "metadata", "key": "publication_month"}, b"PD": {"type": "metadata", "key": "publication_month"},
b"LA": {"type": "metadata", "key": "language_iso2"}, b"LA": {"type": "metadata", "key": "language_iso2"},
b"AB": {"type": "metadata", "key": "abstract", "separator": " "}, b"AB": {"type": "metadata", "key": "abstract", "separator": " "},
b"WC": {"type": "metadata", "key": "fields"}, b"WC": {"type": "metadata", "key": "fields"},
} }
begin = 3
...@@ -4,18 +4,22 @@ from .FileParser import FileParser ...@@ -4,18 +4,22 @@ from .FileParser import FileParser
class RisFileParser(FileParser): class RisFileParser(FileParser):
_parameters = { def __init__(self):
b"ER": {"type": "delimiter"}, super(FileParser, self).__init__()
b"TI": {"type": "metadata", "key": "title", "separator": " "}, self._parameters = {
b"ST": {"type": "metadata", "key": "subtitle", "separator": " "}, b"ER": {"type": "delimiter"},
b"AU": {"type": "metadata", "key": "authors", "separator": ", "}, b"TI": {"type": "metadata", "key": "title", "separator": " "},
b"UR": {"type": "metadata", "key": "doi"}, b"ST": {"type": "metadata", "key": "subtitle", "separator": " "},
b"PY": {"type": "metadata", "key": "publication_year"}, b"AU": {"type": "metadata", "key": "authors", "separator": ", "},
b"PD": {"type": "metadata", "key": "publication_month"}, b"UR": {"type": "metadata", "key": "doi"},
b"LA": {"type": "metadata", "key": "language_iso2"}, b"PY": {"type": "metadata", "key": "publication_year"},
b"AB": {"type": "metadata", "key": "abstract", "separator": " "}, b"PD": {"type": "metadata", "key": "publication_month"},
b"WC": {"type": "metadata", "key": "fields"}, b"LA": {"type": "metadata", "key": "language_iso2"},
} b"AB": {"type": "metadata", "key": "abstract", "separator": " "},
b"WC": {"type": "metadata", "key": "fields"},
}
self._begin = 6
def _parse(self, file): def _parse(self, file):
metadata = {} metadata = {}
...@@ -43,7 +47,7 @@ class RisFileParser(FileParser): ...@@ -43,7 +47,7 @@ class RisFileParser(FileParser):
last_key = parameter_key last_key = parameter_key
last_values = [] last_values = []
try: try:
last_values.append(line[6:-1].decode()) last_values.append(line[self._begin:-1].decode())
except Exception as error: except Exception as error:
print(error) print(error)
# if a metadata object is left in memory, yield it as well # if a metadata object is left in memory, yield it as well
......
...@@ -4,7 +4,7 @@ parsers = { ...@@ -4,7 +4,7 @@ parsers = {
'Pubmed (xml format)' : PubmedFileParser, 'Pubmed (xml format)' : PubmedFileParser,
'Web of Science (ISI format)' : IsiFileParser, 'Web of Science (ISI format)' : IsiFileParser,
'Scopus (RIS format)' : RisFileParser, 'Scopus (RIS format)' : RisFileParser,
'Zotero (RIS format)' : RisFileParser, 'Zotero (RIS format)' : JstorFileParser,
'Jstor (RIS format)' : JstorFileParser, 'Jstor (RIS format)' : JstorFileParser,
#'Europress' : EuropressFileParser, #'Europress' : EuropressFileParser,
'Europress (French)' : EuropressFileParser, 'Europress (French)' : EuropressFileParser,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment