#!/usr/bin/python import couchdb import sys from txt2dict import * import os import traceback import time couch = couchdb.Server("http://IPADDR:5984/") db = couch['myops'] #db.resource.http.add_credentials('admin', 'ssorcmor') def set_or_update(id, data): doc = db.get(id) if doc is None: db[id] = data else: # NOTE: how to update type? del data['type'] doc.update(data) print db.update([doc]) def get_hist_id(data): return data['ts'] + "-" + data['hostname'] def get_single_id(data): return data['hostname'] + "-" + data['type'] for filename in sys.argv[1:]: print filename try: data_hist = file_to_dict(filename) data_single = data_hist.copy() except: traceback.print_exc() continue # history document if 'ts' not in data_hist or 'hostname' not in data_hist or 'type' not in data_hist: print "data missing fields", data_hist continue #hist_id = get_hist_id(data_hist) #set_or_update(hist_id, data_hist) # single document single_id = get_single_id(data_single) data_single['type'] += "-single" set_or_update(single_id, data_single) os.system("echo %s >> /root/load.log" % filename)