From 3f3f02bc883b9b6e9cbb565b4734e9febfbe7b4e Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Tue, 30 Jul 2019 21:29:39 -0700 Subject: chocula: json export --- extra/journal_metadata/chocula.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'extra') diff --git a/extra/journal_metadata/chocula.py b/extra/journal_metadata/chocula.py index 4c50d55e..2dea62c2 100755 --- a/extra/journal_metadata/chocula.py +++ b/extra/journal_metadata/chocula.py @@ -14,6 +14,7 @@ Commands: everything init_db summarize + export index_doaj index_road @@ -1206,6 +1207,19 @@ class ChoculaDatabase(): self.summarize(args) print("### Done with everything!") + def export(self, args): + def dict_factory(cursor, row): + d = {} + for idx, col in enumerate(cursor.description): + d[col[0]] = row[idx] + return d + counts = Counter() + self.db.row_factory = dict_factory + self.c = self.db.cursor() + for row in self.c.execute('SELECT * FROM journal'): + print(json.dumps(row)) + counts['total'] += 1 + def init_db(self, args): print("### Creating Database...") self.db.executescript(""" @@ -1240,6 +1254,9 @@ def main(): sub = subparsers.add_parser('summarize') sub.set_defaults(func='summarize') + sub = subparsers.add_parser('export') + sub.set_defaults(func='export') + # TODO: 'jurn' for ind in ('doaj', 'road', 'crossref', 'entrez', 'norwegian', 'szczepanski', 'ezb', 'gold_oa', 'wikidata', 'openapc'): sub = subparsers.add_parser('index_{}'.format(ind)) -- cgit v1.2.3