def main(): # Should really move these to being parser = OptionParser() parser.add_option("-H", "--host", dest="host") parser.add_option("-p", "--port", dest="port") parser.add_option("-d", "--db", dest="db") parser.add_option("-m", "--mgrs", dest="mgrs") parser.add_option("-M", "--mgrsprecision", dest="mgrsPrecision") parser.add_option("-t", "--timestamp", dest="timeStamp") parser.add_option("-k", "--keyword", dest="keyword") parser.add_option("-u", "--baselineUnit", dest="baselineUnit") parser.add_option("-v", "--baselineValue", dest="baselineValue") (options, args) = parser.parse_args() # Format the option inputs = these really should be arguments port = int(options.port) timeStamp = datetime.datetime.strptime(options.timeStamp, "%Y-%m-%dT%H:%M:%S") mgrsPrecision = int(options.mgrsPrecision) baselinePrecision = [options.baselineUnit, int(options.baselineValue)] c, dbh = mdb.getHandle(host=options.host, port=port, db=options.db) # Build the baseline objects as we go so that they can be updated at the end of the period. base = baseline(options.mgrs, mgrsPrecision, options.keyword, timeStamp, c=c, dbh=dbh, baselinePrecision=baselinePrecision) # Does the baseline document need updating? if base.needUpdate == True: # This method takes care of update and insert base.processBaseline(tsd.buildBlankData()) try: mdb.close(c, dbh) except: pass
#---------------------------------------------------------------------------- #======================== host = 'localhost' port = 27017 db = 'bam' collection = 'timeseries' lookback = datetime.timedelta(days=5) queryEnd = datetime.datetime(2011,05,04) queryStart = queryEnd - lookback mgrs = None mgrsPrecision = None blankDay = buildBlankData() #======================== print queryStart, queryEnd # Get a mongo db handle c, dbh = mdb.getHandle(host=host, port=port, db=db) # Get a collection handle collHandle = dbh[collection] # Query based on a keyword only keyword = 'sick' query = {'keyword':keyword,