def wrapper(*args, **kwargs): if bottle.request.get_cookie('token') or bottle.request.GET.get('token'): token = bottle.request.get_cookie('token') or bottle.request.GET.get('token') s = Session(_DBCON, publicId=token) if not s.valid or not s.check(bottle.request.get('REMOTE_ADDR'), bottle.request.get('HTTP_USER_AGENT')): return bottle.HTTPError(403, 'Access denied') else: bottle.request.session = s return callback(*args, **kwargs) elif bottle.request.GET.get('apikey'): users = EntityManager(_DBCON).get_all(User, filter_criteria={'apikey':bottle.request.GET.get('apikey')}) if len(users)==1: u = users[0] s = Session(_DBCON) s.userId = u._id bottle.request.session = s return callback(*args, **kwargs) else: return bottle.HTTPError(403, 'Access denied') else: return bottle.HTTPError(403, 'Access denied')
def wrapper(*args, **kwargs): if bottle.request.get_cookie('token'): s = Session(_DBCON, publicid=bottle.request.get_cookie('token')) if not s.valid or not s.check(bottle.request.get('REMOTE_ADDR'), bottle.request.get('HTTP_USER_AGENT')): return bottle.redirect('/login') else: bottle.request.session = s return callback(*args, **kwargs) else: return bottle.redirect('/login')
def wrapper(*args, **kwargs): if bottle.request.get_cookie("token") or bottle.request.GET.get("token"): token = bottle.request.get_cookie("token") or bottle.request.GET.get("token") s = Session(_DBCON, publicid=token) if not s.valid or not s.check(bottle.request.get("REMOTE_ADDR"), bottle.request.get("HTTP_USER_AGENT")): return bottle.redirect("/login") else: bottle.request.session = s return callback(*args, **kwargs) else: return bottle.redirect("/login")
def wrapper(*args, **kwargs): if bottle.request.get_cookie('token') or bottle.request.GET.get('token'): token = bottle.request.get_cookie('token') or bottle.request.GET.get('token') s = Session(_DBCON, publicId=token) if not s.valid or not s.check(bottle.request.get('REMOTE_ADDR'), bottle.request.get('HTTP_USER_AGENT')): return bottle.HTTPError(403, 'Access denied') else: bottle.request.session = s return callback(*args, **kwargs) else: return bottle.HTTPError(403, 'Access denied')
def index(): user = FacebookClient().process(bottle.request.GET['code']) if user: users = EntityManager(_DBCON).getAll(User, filterCriteria={'facebookUserId':user['id']}) if users: _id = users[0]._id else: _id = None u = User(_DBCON, _id=_id) u.username = user['name'] u.password = user['id'] u.valid = False u.facebookUserId = user['id'] u.save() s = Session(_DBCON) s.userid = u._id s.ip = bottle.request.get('REMOTE_ADDR') s.useragent = bottle.request.get('HTTP_USER_AGENT') s.save() s.set_cookie() bottle.redirect('/') else: bottle.redirect('/login')
def index(): vd = { #'date':datetime.datetime.now().strftime('%Y'), 'baseurl':settings.BASEURL, } e = bottle.request.POST.get('email') p = bottle.request.POST.get('password') if e and p: u = User(_DBCON, email=e, password=p) if u._id: s = Session(_DBCON) s.userid = u._id s.ip = bottle.request.get('REMOTE_ADDR') s.useragent = bottle.request.get('HTTP_USER_AGENT') s.save() s.set_cookie() bottle.redirect('/') else: return bottle.template('login', error='Incorrect email/password combination', email=e, password=p, vd=vd) else: return bottle.template('login', error='Please complete the form', email=e or '', password=p or '', vd=vd)
def index(token): u = User(_DBCON) if u.activate(token): s = Session(_DBCON) s.userid = u._id s.save() bottle.response.set_cookie('token', str(s.publicid), path='/') bottle.redirect('/') else: vd = { #'date':datetime.datetime.now().strftime('%Y'), 'baseurl':settings.BASEURL, } return bottle.template('error', error='The token does not match any account that is pending activation', vd=vd)
def wrapper(*args, **kwargs): if bottle.request.get_cookie('token') or bottle.request.GET.get( 'token'): token = bottle.request.get_cookie( 'token') or bottle.request.GET.get('token') s = Session(_DBCON, publicid=token) if not s.valid or not s.check( bottle.request.get('REMOTE_ADDR'), bottle.request.get('HTTP_USER_AGENT')): return bottle.redirect('/login') else: bottle.request.session = s return callback(*args, **kwargs) else: return bottle.redirect('/login')
def newSession(db, userObj): session = Session(db, getUuid()) session.username = userObj["name"] session.cookie = { "id": userObj["id"], "name": userObj["name"], "role": userObj["role"] } session.role = userObj["role"] session.username = userObj["name"] session.userId = userObj["id"] session.add() return session.toObj()
async def insertSession(self, userId: int) -> Session: sql = Query.into(sessions).columns(sessions.user_id, sessions.updated_at) \ .insert(userId, datetime.now(timezone.utc)) \ .returning(sessions.session_id, sessions.user_id, sessions.updated_at) result = await databaseClient.query(sql.get_sql()) row = result[0] return Session(sessionId=row[0], userId=row[1], updatedAt=row[2])
async def refreshSession(self, refreshToken: str) -> dict: info = jwt.decode(refreshToken, JWT_SECRET, algorithms=['HS256']) if info['type'] != 'REFRESH': raise Exception('Not refresh token') session = Session.fromDict(info['session']) newSession = await userRepository.refreshSession(session) if newSession is None: raise Exception('Wrong token') return self._createTokens(newSession)
async def getUser(self, accessToken: str) -> Optional[User]: info = jwt.decode(accessToken, JWT_SECRET, algorithms=['HS256']) if info['type'] != 'ACCESS': return None session = Session.fromDict(info['session']) if (await userRepository.checkSession(session)): return await userRepository.getUserById(session.userId) else: raise Exception('Wrong token')
def _login_user(self, u): s = Session(_DBCON) s.userid = u._id s.ip = bottle.request.get('REMOTE_ADDR') s.useragent = bottle.request.get('HTTP_USER_AGENT') s.save() return s
def current_user(request): if 'session_id' in request.cookies: log('request', request.headers) session_id = request.cookies['session_id'] log('user', session_id) session = Session.one(session_id=session_id) user = User.one(id=session.user_id) return user else: log('user', User.guest()) return User.guest()
async def refreshSession(self, session: Session) -> Optional[Session]: sql = Query.update(sessions).set(sessions.updated_at, datetime.now(timezone.utc)) \ .where(Criterion.all([ sessions.session_id == session.sessionId, sessions.user_id == session.userId, sessions.updated_at == session.updatedAt ])) \ .returning(sessions.session_id, sessions.user_id, sessions.updated_at) result = await databaseClient.query(sql.get_sql()) if len(result) == 0: return None row = result[0] return Session(sessionId=row[0], userId=row[1], updatedAt=row[2])
def loginUser(userId): s = Session(_DBCON) s.userId = userId s.ip = bottle.request.get('REMOTE_ADDR') s.userAgent = bottle.request.get('HTTP_USER_AGENT') s.save() return s.publicId
def _login_user(self, u): s = Session(_DBCON) s.userid = u._id s.ip = bottle.request.get("REMOTE_ADDR") s.useragent = bottle.request.get("HTTP_USER_AGENT") s.save() return s
def _createTokens(self, session: Session) -> dict: now = datetime.now(timezone.utc) accessExp = now + ACCESS_TIMEDELTA refreshExp = now + REFRESH_TIMEDELTA return { 'access': jwt.encode( { 'exp': accessExp, 'type': 'ACCESS', 'session': session.toDict() }, JWT_SECRET, algorithm='HS256').decode(), 'refresh': jwt.encode( { 'exp': refreshExp, 'type': 'REFRESH', 'session': session.toDict() }, JWT_SECRET, algorithm='HS256').decode() }
def getSession(db, sessionId=None): session = Session(db, sessionId) if (session.init()): ERROR("get session error %s" % sessionId) return {} session.update() return session.toObj()
def new_pot_registration(pot_id): try: # NOTE: Have to call datetime.utcnow() here instead of creating default values in class Session as it will stay as constant new_session = Session(newSessInput=NewSessionInput(potId=pot_id), sessionStartTime=datetime.utcnow()) # NOTE: Have to call datetime.utcnow() here instead of creating default values in class Pot as it will stay as constant # Another way of getting utc time is datetime.now(timezone.utc) new_pot = Pot(potId=pot_id, potRegisteredTime=datetime.utcnow(), session=new_session) quiz_dates = scheduled_quiz_dates(new_session.sessionStartTime, new_session.quiz.quizDayNumbers) new_session.quiz.quizDates = quiz_dates return new_pot except Exception as e: return e
def get_session(node): return Session(name=CalendarScrapper.get_name(node), begin=CalendarScrapper.get_begin(node), location=CalendarScrapper.get_location(node), duration=CalendarScrapper.get_duration(node))
# a = np.array([[1], [2], [3]]) # # b = np.array([[1,2 , 3, 3], # # [4, 5, 6, 6], # # [7, 8, 9, 9]]) # b = np.array([[4], [5], [6]]) # print(a.T.dot(b) - 1) mp = model_prototype() W = np.random.uniform(2, 1, 3) x1 = np.random.uniform(-10, 10, 10) x2 = np.random.uniform(-10, 10, 10) x3 = np.array([1] * 10) X = np.array([x1, x2, x3]).transpose() y = np.array([1 if val >= 0 else 0 for val in X.dot(W)]) md = mp.recognize("Logistic") X = np.hstack((X[0:len(X), 0:-1], np.array([y]).T)) # print(X) md.feed_data(X) # print(md.weights) sess = Session() for i in range(0, 100): md.next_step() vs = visualizer(md, (5, 5), (-5, 5), (-5, 5)) image = vs.visualize() image.save("bla.png") image.show() # yy = np.array([1 if val >=0 else 0 for val in X.dot(md.weights)]) # print("yy = ", yy) # print("y = ", y) # print(md.weights)
def removeSession(db, sessionId): session = Session(db, sessionId) return session.delete()