37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
import argparse
 | 
						|
import json
 | 
						|
import redis
 | 
						|
import os
 | 
						|
parser = argparse.ArgumentParser(description='JSON importer for CyCAT backend')
 | 
						|
parser.add_argument('-f', '--file', help='JSON file to import')
 | 
						|
parser.add_argument('-t', '--type', help='CyCAT backend type', default=1)
 | 
						|
args = parser.parse_args()
 | 
						|
r = redis.Redis(host='127.0.0.1', port='3033')
 | 
						|
 | 
						|
if not args.file:
 | 
						|
    parser.print_usage()
 | 
						|
    os.sys.exit(1)
 | 
						|
 | 
						|
with open(args.file, 'r') as f:
 | 
						|
    toimport = f.read()
 | 
						|
    record = json.loads(toimport)
 | 
						|
 | 
						|
if int(args.type) == 1:
 | 
						|
    uuid = record['cycat-oid']
 | 
						|
    r.set("u:{}".format(uuid), args.type)
 | 
						|
    d = {"{}".format(uuid): 1}
 | 
						|
    k = "t:{}".format(args.type)
 | 
						|
    r.zadd(k, d, nx=False)
 | 
						|
    print(uuid)
 | 
						|
    r.hmset("{}:{}".format(args.type, uuid), record)
 | 
						|
    print(record)
 | 
						|
elif int(args.type) == 2:
 | 
						|
    uuid = record['cycat-oid']
 | 
						|
    r.set("u:{}".format(uuid), args.type)
 | 
						|
    d = {"{}".format(uuid): 1}
 | 
						|
    k = "t:{}".format(args.type)
 | 
						|
    r.zadd(k, d, nx=False)
 | 
						|
    r.hmset("{}:{}".format(args.type, uuid), record)
 | 
						|
else:
 | 
						|
    pass
 |