parent
							
								
									96d6a0e7d9
								
							
						
					
					
						commit
						10c6a911d8
					
				@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
						"virtual-env":{
 | 
				
			||||||
 | 
							"class":"Sandbox",
 | 
				
			||||||
 | 
							"config":{
 | 
				
			||||||
 | 
								"3-launchpad":{"requirements":"/Users/steve/Documents/git/repair-file/required.txt","sandbox":"/Users/steve/Documents/git/sandbox"}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						"processes":{
 | 
				
			||||||
 | 
							"class":"DetailProcess",
 | 
				
			||||||
 | 
							"config":{
 | 
				
			||||||
 | 
								"system":["postgresql","couchdb","httpd"]
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,54 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					from flask import Flask,request
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import json
 | 
				
			||||||
 | 
					import re
 | 
				
			||||||
 | 
					import monitor
 | 
				
			||||||
 | 
					PARAMS  = {'context':''}
 | 
				
			||||||
 | 
					if len(sys.argv) > 1:
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						N = len(sys.argv)
 | 
				
			||||||
 | 
						for i in range(1,N):
 | 
				
			||||||
 | 
							value = None
 | 
				
			||||||
 | 
							if sys.argv[i].startswith('--'):
 | 
				
			||||||
 | 
								key = sys.argv[i].replace('-','')
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								if i + 1 < N:
 | 
				
			||||||
 | 
									value = sys.argv[i + 1] = sys.argv[i+1].strip()
 | 
				
			||||||
 | 
								if key and value:
 | 
				
			||||||
 | 
									PARAMS[key] = value
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							i += 2
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					app = Flask(__name__)
 | 
				
			||||||
 | 
					f = open(PARAMS['path'])
 | 
				
			||||||
 | 
					CONFIG 	= json.loads(f.read())
 | 
				
			||||||
 | 
					HANDLERS= {}
 | 
				
			||||||
 | 
					for key in CONFIG :
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						className = CONFIG[key]['class']
 | 
				
			||||||
 | 
						ref	= "".join(["monitor.",className,"()"])
 | 
				
			||||||
 | 
						ref 	=  eval(ref)
 | 
				
			||||||
 | 
						HANDLERS[key] = {"class":ref,"config":CONFIG[key]["config"]}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					f.close()
 | 
				
			||||||
 | 
					@app.route('/get/<id>')
 | 
				
			||||||
 | 
					def procs(id):
 | 
				
			||||||
 | 
						if id in HANDLERS:
 | 
				
			||||||
 | 
							handler = HANDLERS[id]["class"]
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							conf = HANDLERS[id]["config"]
 | 
				
			||||||
 | 
							r = {}
 | 
				
			||||||
 | 
							for key in conf:
 | 
				
			||||||
 | 
								handler.init(conf[key])
 | 
				
			||||||
 | 
								r[key] = handler.composite()
 | 
				
			||||||
 | 
								return json.dumps(r)
 | 
				
			||||||
 | 
						else:
 | 
				
			||||||
 | 
							return "[]"
 | 
				
			||||||
 | 
						pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__== '__main__':
 | 
				
			||||||
 | 
						app.run(host='0.0.0.0',debug=True,threaded=True)
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue