def initModels(): """Initialize timebot DB tables and mappers""" engine = db.getEngine() meta = db.getMeta() session = db.getSession() tb_user = Table( 'tb_user', meta, Column('id', Integer, primary_key=True, autoincrement=True), Column('company_id', None, ForeignKey('tb_company.id'), nullable=True), Column('jid', Unicode(50), unique=True, nullable=False), Column('name', Unicode(50)), Column('rate', Integer)) tb_worktime = Table( 'tb_time', meta, Column('id', Integer, primary_key=True), Column('user_id', None, ForeignKey('tb_user.id'), nullable=False), Column('start', DateTime, default=datetime.now), Column('stop', DateTime, nullable=True)) tb_company = Table( 'tb_company', meta, Column('id', Integer, primary_key=True), Column('name', Unicode(50), nullable=True)) meta.create_all() mapper(TUser, tb_user, properties=dict( worktime=relation(TWorktime), company=relation(TCompany))) mapper(TWorktime, tb_worktime, properties=dict( user=relation(TUser))) mapper(TCompany, tb_company, properties=dict( users=relation(TUser)))
def doTest(): # to load this data I need a certificate, #therefore at the moment no validation client = 'all' logging.debug(request) f = request.files['key'] string = f.read() logging.debug(string) keyReference = request.form['keyreference'] logging.debug(keyReference) engine = getEngine() testSet = getTestSet(engine, client) if testSet is None: logging.info('client ' + client + ' does not exist or has no test set assigned. ') abort(400) try: keyReference = int(keyReference) except: #Http code 400: Bad request logging.info('keyReference: ' + keyReference + ' is no integer.') abort(400) if not hasParser(string): logging.info('No valid input. ') logging.info(string) abort(400) key = parse(string) if key is None: logging.info('No valid input. ') logging.info(string) abort(400) keyFormat, keyType = getParam(string) if keyFormat is None or keyType is None: logging.info('keyFormat: ' + keyFormat + ' and keyType: ' + keyType +' are not valid') abort(400) tester = Tester(testSet, engine, shared) id=tester.testSync(keyType, keyFormat, key, keyReference, client) threading.Thread(target=tester.testAsync, args=[True]).start() #asyncPool.apply_async(testAsync, tester) #asyncPool.apply_async(tester.testAsync, [True]) #apply(tester.testAsync, [True]) res = Result(engine, id,client).getJSON() return res;
def initWorker(testSet, Client, MakePerm, Verbose, Shared): global engine global tester global shared global client global makePerm global verbose engine = getEngine() shared = Shared client = Client makePerm = MakePerm verbose = Verbose tester = Tester(testSet, engine, shared)
def result(testRunId): # to load this data I need a certificate, #therefore at the moment no validation client = 'all' try: testRunId = int(testRunId) except: logging.info(str(testRunId) + ' is no valid test run ID. ') abort(400) engine = getEngine() if not hasAccess(engine, testRunId, client): #Http code 403: Forbidden logging.warning('Unauthorized access tried by ' + client + ' on Test run ID ' + str(testRunId)) abort(403) res = Result(engine, testRunId, client).getJSON() return res;
parser.error("options --global and --file are mutually exclusive. ") #Enough options specified? if not(options.result or options.file or options.reset or options.globalTest): parser.error("Not enough options specified") if options.file or options.globalTest: if not(options.testSet or options.client): parser.error("An test or an client has to be specified") if not(options.keyReference or options.batch or options.globalTest): parser.error("You have to either specify batch mode, globalTest or give an keyReference") #Loading data to test input validity initDB() engine=getEngine() if options.client: client = options.client else: client = 'admin' if options.testSet: testSet = options.testSet #Is input valid if options.keyReference: try: options.keyReference = int(options.keyReference) except: parser.error("Specified Key Reference is no int")
@app.route('/api/finishSetup',methods=['POST']) def finishSetup(): username=request.form['username'] password=request.form['password'] return "/" @app.route('/api/presets/setactivepreset',methods=['POST']) def setActivePreset(): presetName = request.form['presetName'] return "Activating Preset: %s " % presetName @app.route('/api/presets/',methods=['GET','PUT','DELETE']) def preset(): return "Preset" @app.route('/api/setcontrol',methods=['POST']) def control(): controlObject = request.form['controlObject'] controlProperties = request.form['controlProperties'] return "Setting Control: %s " % controlObject print (type(db.getEngine())) loadedPlugins = getPlugins() if __name__ == "__main__": context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) context.load_cert_chain('/etc/ssl/certs/ssl-cert-snakeoil.pem','/etc/ssl/private/ssl-cert-snakeoil.key') app.run(host='0.0.0.0',port=5002,ssl_context=context)