diff options
Diffstat (limited to 'chocula/directories/sherpa_romeo.py')
-rw-r--r-- | chocula/directories/sherpa_romeo.py | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/chocula/directories/sherpa_romeo.py b/chocula/directories/sherpa_romeo.py index e92dc69..a8ba1b0 100644 --- a/chocula/directories/sherpa_romeo.py +++ b/chocula/directories/sherpa_romeo.py @@ -1,4 +1,3 @@ - import sys from typing import Iterable, Optional, Dict, Any import csv @@ -27,32 +26,38 @@ class SherpaRomeoLoader(DirectoryLoader): # first load policies print("##### Loading SHERPA/ROMEO policies...", file=sys.stderr) - fixed_policy_file = ftfy.fix_file(open(self.config.sherpa_romeo_policies_simple.filepath, 'rb')) + fixed_policy_file = ftfy.fix_file( + open(self.config.sherpa_romeo_policies_simple.filepath, "rb") + ) policy_reader = csv.DictReader(fixed_policy_file) for row in policy_reader: - self.sherpa_policies[row['RoMEO Record ID']] = row + self.sherpa_policies[row["RoMEO Record ID"]] = row # then open regular file - raw_file = open(self.config.sherpa_romeo_journals_simple.filepath, 'rb').read().decode(errors='replace') + raw_file = ( + open(self.config.sherpa_romeo_journals_simple.filepath, "rb") + .read() + .decode(errors="replace") + ) fixed_file = ftfy.fix_text(raw_file) - return csv.DictReader(fixed_file.split('\n')) + return csv.DictReader(fixed_file.split("\n")) def parse_record(self, row) -> Optional[DirectoryInfo]: # super mangled :( - row.update(self.sherpa_policies[row['RoMEO Record ID']]) + row.update(self.sherpa_policies[row["RoMEO Record ID"]]) info = DirectoryInfo( directory_slug=self.source_slug, - issnp=row['ISSN'], - issne=row['ESSN'], - name=clean_str(row['Journal Title']), - publisher=clean_str(row['Publisher']), - country=parse_country(row['Country']), - custom_id=row['RoMEO Record ID'], + issnp=row["ISSN"], + issne=row["ESSN"], + name=clean_str(row["Journal Title"]), + publisher=clean_str(row["Publisher"]), + country=parse_country(row["Country"]), + custom_id=row["RoMEO Record ID"], ) - if row['RoMEO colour']: - info.extra['sherpa_romeo'] = dict(color=row['RoMEO colour']) + if row["RoMEO colour"]: + info.extra["sherpa_romeo"] = dict(color=row["RoMEO colour"]) return info |