def create_session(data, wsck): c_key = ndb.Key(urlsafe=wsck) s_id = Session.allocate_ids(size=1, parent=c_key)[0] s_key = ndb.Key(Session, s_id, parent=c_key) data['key'] = s_key speaker = get_create_speaker(data["speaker"]) data["speaker"] = speaker session = Session(**data) session.put() return session
def __translate_unscanned(self, value=None): """ Add subquerie as filter to keep only services that have not been scanned yet (i.e. with no checks already run) """ session = Session() return not_( session.query(Result) \ .filter(Service.id == Result.service_id) \ .exists() )
def get_conference_sessions(wsck, typeOfSession=None): conference = ndb.Key(urlsafe=wsck) sessions = Session.query(ancestor=conference) if typeOfSession is not None: sessions = sessions.filter(Session.typeOfSession == typeOfSession) return sessions
def set_featured_speaker(wsck, speaker_name): speaker = get_create_speaker(speaker_name) query = Session.query() query = query.filter(Session.speaker == speaker) sessions = query.filter(Session.websafeConferenceKey == wsck) if sessions.count() > 1: message = MESSAGE_FEATURED_SPEAKER.format( speaker_name, ", ".join([sess.name for sess in sessions])) memcache.set(MEMCACHE_FEATURED_SPEAKER, message)
def __init__(self): try: print(BANNER) # Parse settings files settings = Settings() # Parse command-line arguments arguments = ArgumentsParser(settings) # Create db if needed and initialize sqlalchemy session Base.metadata.create_all(engine) session = Session() # Create "default" mission if necessary mission = session.query(Mission).filter( Mission.name == 'default').first() if not mission: mission = Mission(name='default', comment='Default scope') session.add(mission) session.commit() # Controller controller = MainController(arguments, settings, session) controller.run() except KeyboardInterrupt: print() if Output.prompt_confirm('Are you sure you want to exit ?', default=False): logger.error('User aborted') sys.exit(0) except (SettingsException, AttackException) as e: logger.error(e) sys.exit(1) except (ValueError, ArgumentsException): print sys.exit(1) except Exception as e: print logger.error('Unexpected error occured: {0}'.format(str(e))) traceback.print_exc() sys.exit(1)
def query_session_task3(last_hour, session_type): query = Session.query() query = query.filter(Session.startTime.IN(range(1, last_hour+1))) query = query.filter(Session.typeOfSession != session_type) return query
def get_sessions_by_speaker(speaker_name): speaker = get_create_speaker(speaker_name) query = Session.query() query = query.filter(Session.speaker == speaker) return query
def get_sessions(): query = Session.query() return query.fetch()
def addApp(): "添加应用" if request.method == "GET": g.add = True g.obj = {} sql = "select * from paas_account where status != 3" dao = db.execute(sql) g.users = map(objToDict, dao.fetchall()) dao.close() return render_template("admin/addApp.html") else: uid = request.form.get("uid", None) title = request.form.get("title", None) description = request.form.get("description", None) language = request.form.get("language", None) host = request.form.get("host", None) gitUrl = request.form.get("gitUrl", None) #处理git地址,防止注入恶意代码 gitUrl = gitUrl.replace(" ", "") #添加应用信息 session = Session() obj = AppModel(title, description, uid, language, host, gitUrl, -1) session.add(obj) session.commit() #记录应用路径,用户,用户组 appUser, appGroup, appPath = client.getAppMessage( obj.id, sqlDeal(language)) sql = "update paas_app set appAccount = '%s' , appGroup = '%s',appPath = '%s' where id = %d" % ( appUser, appGroup, appPath, obj.id) dao = db.execute(sql) dao.close() #为应用创建一个数据库,但是静态环境不需要数据库 if language != "static": dbName = hashlib.md5(str(time.time())).hexdigest() username = hashlib.md5(uid + str(time.time())).hexdigest()[8:-8] password = hashlib.md5(title.encode("UTF-8") + str(time.time())).hexdigest() #建立数据库 buildDb(dbName, username, password) sql = "insert into paas_db(uid,aid,dbName,username,password,host,port) values('%s','%s','%s','%s','%s','%s','%s')" % ( sqlDeal(uid), str(obj.id), dbName, username, password, config.MYSQL_HOST, config.MYSQL_PORT) dao = db.execute(sql) dao.close() #初始化应用 client.buildApp(obj.id, sqlDeal(host), sqlDeal(language)) #生成apiKey和secretKey apiKey = hashlib.md5("apiKey_" + str(time.time())).hexdigest() secretKey = hashlib.md5("secretKey_" + str(time.time())).hexdigest() sql = "insert into paas_app_token(aid,apiKey,secretKey) values('%s','%s','%s')" % ( str(obj.id), apiKey, secretKey) dao = db.execute(sql) dao.close() return redirect("/admin/appManager")