mirror of
				https://github.com/LibreTranslate/LibreTranslate.git
				synced 2025-10-31 02:27:11 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python
 | |
| import argparse
 | |
| import time
 | |
| import sqlite3
 | |
| import json
 | |
| 
 | |
| 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) |