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
commit59489a56ec7032dca24d1bf534d52bb514bbbe77 (patch)
tree4107bfafbcf956e357eabb6745e8568bf8f1c9e5
parent3200e368ea315143e4c9574a4915a1c5542b1418 (diff)
downloadchocula-59489a56ec7032dca24d1bf534d52bb514bbbe77.tar.gz
chocula-59489a56ec7032dca24d1bf534d52bb514bbbe77.zip
chocula: json export
-rwxr-xr-xchocula.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/chocula.py b/chocula.py
index 4c50d55..2dea62c 100755
--- a/chocula.py
+++ b/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))