aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-07-30 21:29:39 -0700
committerBryan Newbold <bnewbold@robocracy.org>2019-07-30 21:29:39 -0700
commit3f3f02bc883b9b6e9cbb565b4734e9febfbe7b4e (patch)
tree39c2ea982b7ff68ffacaf8333341c14ce96bcc62
parent1996b0b95bb1d1f53154e75508688079dd51ada7 (diff)
downloadfatcat-3f3f02bc883b9b6e9cbb565b4734e9febfbe7b4e.tar.gz
fatcat-3f3f02bc883b9b6e9cbb565b4734e9febfbe7b4e.zip
chocula: json export
-rwxr-xr-xextra/journal_metadata/chocula.py17
1 files changed, 17 insertions, 0 deletions
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))