Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python | |
| import argparse | |
| import json | |
| import sqlite3 | |
| import time | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser(description="Program to generate JSONL files from a LibreTranslate's suggestions.db") | |
| parser.add_argument( | |
| "--db", | |
| type=str, | |
| nargs=1, | |
| help="Path to suggestions.db file", | |
| default='db/suggestions.db' | |
| ) | |
| parser.add_argument( | |
| "--clear", | |
| action='store_true', | |
| help="Clear suggestions.db after generation", | |
| default=False | |
| ) | |
| args = parser.parse_args() | |
| output_file = str(int(time.time())) + ".jsonl" | |
| con = sqlite3.connect(args.db, check_same_thread=False) | |
| cur = con.cursor() | |
| with open(output_file, 'w', encoding="utf-8") as f: | |
| for row in cur.execute('SELECT q, s, source, target FROM suggestions WHERE source != "auto" ORDER BY source'): | |
| q, s, source, target = row | |
| obj = { | |
| 'q': q, | |
| 's': s, | |
| 'source': source, | |
| 'target': target | |
| } | |
| json.dump(obj, f, ensure_ascii=False) | |
| f.write('\n') | |
| print("Wrote %s" % output_file) | |
| if args.clear: | |
| cur.execute("DELETE FROM suggestions") | |
| con.commit() | |
| print("Cleared " + args.db) |