def startIntake(): daemonize(files['daemon']['log'],files['daemon']['pid']) signal.signal(signal.SIGIO, watchHandler) f = os.open(import_directory['asset_root'], os.O_RDONLY) fcntl.fcntl(f, fcntl.F_SETSIG, 0) global intake_status global time_since_last_fired global time_since_last_update while True: if intake_status == 0: if time_since_last_fired > 0.0 and fabs(time_since_last_fired - time()) >= 1: intake_status = 1 watch(only_imports=True, only_sources=True) watch(only_imports=True, only_submissions=True) intake_status = 0 time_since_last_fired = 0.0 else: if fabs(time_since_last_update - time()) >= (sync_sleep * 60): intake_status = 1 watch(only_sources=True) watch(only_submissions=True) intake_status = 0 time_since_last_update = time() sleep(1)
sec = open(secret_key_path, 'rb') import_key = gpg.import_keys(sec.read()) sec.close() print "done.\n" print "Initializing databases..." initElasticsearch() print "done.\n" print "Processing files..." initFiles() sleep(2) print "Evaluating forms..." initForms() sleep(2) print "Getting Keys..." watch(only_sources=True) print "Starting intake daemon..." p = Process(target=startIntake) p.start() print "done.\n" print "Starting web client.." p = Process(target=startAPI) p.start() print "done.\n" print "Welcome to Unveillance.\n\n"