本文整理汇总了Python中werkzeug.contrib.sessions.FilesystemSessionStore.get方法的典型用法代码示例。如果您正苦于以下问题:Python FilesystemSessionStore.get方法的具体用法?Python FilesystemSessionStore.get怎么用?Python FilesystemSessionStore.get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类werkzeug.contrib.sessions.FilesystemSessionStore
的用法示例。
在下文中一共展示了FilesystemSessionStore.get方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_basic_fs_sessions
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def test_basic_fs_sessions():
"""Test basic file system sessions"""
store = FilesystemSessionStore(session_folder)
x = store.new()
assert x.new
assert not x.modified
x['foo'] = [1, 2, 3]
assert x.modified
store.save(x)
x2 = store.get(x.sid)
assert not x2.new
assert not x2.modified
assert x2 is not x
assert x2 == x
x2['test'] = 3
assert x2.modified
assert not x2.new
store.save(x2)
x = store.get(x.sid)
store.delete(x)
x2 = store.get(x.sid)
# the session is not new when it was used previously.
assert not x2.new
示例2: test_renewing_fs_session
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def test_renewing_fs_session(tmpdir):
store = FilesystemSessionStore(str(tmpdir), renew_missing=True)
x = store.new()
store.save(x)
store.delete(x)
x2 = store.get(x.sid)
assert x2.new
示例3: test_renewing_fs_session
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def test_renewing_fs_session(self):
store = FilesystemSessionStore(self.session_folder, renew_missing=True)
x = store.new()
store.save(x)
store.delete(x)
x2 = store.get(x.sid)
assert x2.new
示例4: before_request
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def before_request():
session_store = FilesystemSessionStore(SESSIONS_DIR)
if 'sid' in session:
sid = session.get('sid')
g.session = session_store.get(sid)
else:
session['sid'] = os.urandom(24)
g.session = session_store.new()
示例5: WSGIApplication
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
class WSGIApplication(object):
def __init__(self, url_mapping, middlewares=None):
self.url_mapping = url_mapping
self.session_store = FilesystemSessionStore()
#self.session_store = BDBSessionStore()
#self.session_store = MemorySessionStore()
self.middlewares = middlewares or []
def addMiddleware(self, middleware):
self.middlewares.append(middleware)
def __call__(self, environ, start_response):
# start_response('200 OK', [('Content-type','text/plain')])
# return ['Hello World!']
adapter = self.url_mapping.bind_to_environ(environ)
# build request with session
request = Request(environ)
request.session = dummy_session
request.user_id = None
# url mapping
try:
endpoint, kwargs = adapter.match()
# turn hander class path like 'www.views.main.index' to a real
# handler class like index
if isinstance(endpoint, basestring):
dot = endpoint.rindex('.')
module, cls = endpoint[:dot], endpoint[dot+1:]
endpoint = __import__(module, {}, {}, [cls])
# build handler
handler = endpoint()
if handler.with_session:
sid = request.cookies.get('session_id')
if sid is None:
request.session = self.session_store.new()
else:
request.session = self.session_store.get(sid)
# build user if possible
request.user_id = request.session.get(SESSION_USER_KEY)
handler.app = self
handler.errors = {}
if settings.store_manager:
handler.store = settings.store_manager.new()
handler.request = request
# middleware
for middleware in self.middlewares:
middleware.processRequest(handler.request)
response = handler(kwargs)
for middleware in reversed(self.middlewares):
middleware.processResponse(handler.request, response)
assert isinstance(response, BaseResponse)
except HTTPException, e:
response = e
except Exception, e:
logging.error(e)
if settings.debug:
raise
response = InternalServerError()
示例6: test_basic_fs_sessions
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def test_basic_fs_sessions(self):
store = FilesystemSessionStore(self.session_folder)
x = store.new()
assert x.new
assert not x.modified
x["foo"] = [1, 2, 3]
assert x.modified
store.save(x)
x2 = store.get(x.sid)
assert not x2.new
assert not x2.modified
assert x2 is not x
assert x2 == x
x2["test"] = 3
assert x2.modified
assert not x2.new
store.save(x2)
x = store.get(x.sid)
store.delete(x)
x2 = store.get(x.sid)
# the session is not new when it was used previously.
assert not x2.new
示例7: before_request
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def before_request():
"""
Make sure we are connected to the database each request and also
do the session handling.
"""
g.db = connect_db()
session_store = FilesystemSessionStore(config.SESSIONS_DIR)
if 'sid' in session:
sid = session.get('sid')
g.session = session_store.get(sid)
if 'user' in g.session:
g.user = g.session['user']
else:
g.user = None
else:
g.session = session_store.new()
g.user = None
示例8: on_session_id
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
def on_session_id(self, session_id):
""" sockectio_manage can call all the event only if the session is
validate"""
path = session_path()
session_store = FilesystemSessionStore(path)
sid = self.request.cookies.get('sid')
session = None
self.uid = None
if sid:
session = session_store.get(sid)
if session and session_id:
session = session.get(session_id)
else:
session = None
if not session:
return
session.assert_valid()
self.context = session.context
self.uid = session._uid
self.database = session._db
self.lift_acl_restrictions()
示例9: PredmetyApp
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
class PredmetyApp(object):
def __init__(self, settings):
self.settings = settings
loader = jinja2.PackageLoader(__package__)
def guess_autoescape(template_name):
return template_name and any(template_name.endswith(ext)
for ext in ('.html', '.htm', '.xml'))
self.jinja = jinja2.Environment(loader=loader,
autoescape=guess_autoescape)
self.session_store = FilesystemSessionStore(
renew_missing=True, path=settings.session_path)
self.views = {}
for module in site_modules:
self.views.update(module.views)
self.url_map = Map()
self.url_map.converters['regex'] = RegexConverter
for module in site_modules:
for rulefactory in module.get_routes():
self.url_map.add(rulefactory)
self.db_engine = settings.db_connect()
self.DbSession = sessionmaker(bind=self.db_engine)
def create_tables(self):
models.create_tables(self.db_engine)
def render(self, template_name, **context):
template = self.jinja.get_template(template_name)
return jinja2.Markup(template.render(context))
def dispatch_request(self, request):
try:
endpoint, values = request.url_adapter.match()
return endpoint(request, **values)
except NotFound as e:
return self.views['not_found'](request)
except HttpException as e:
return e
@Request.application
def wsgi_app(self, request):
request.app = self
request.max_content_length = 16 * 1024 * 1024
request.max_form_memory_size = 2 * 1024 * 1024
cookie_name = self.settings.cookie_name
sid = request.cookies.get(cookie_name, '')
request.session = self.session_store.get(sid)
request.db_session = self.DbSession()
request.url_adapter = self.url_map.bind_to_environ(request.environ)
def build_url(view_name, *args, **kwargs):
endpoint = self.views[view_name]
return request.url_adapter.build(endpoint, *args, **kwargs)
request.build_url = build_url
response = self.dispatch_request(request)
if request.session.should_save:
self.session_store.save(request.session)
response.set_cookie(cookie_name, request.session.sid)
elif sid and request.session.new and hasattr(response, 'delete_cookie'):
response.delete_cookie(cookie_name)
request.db_session.close()
return response
def __call__(self, *args):
return self.wsgi_app(*args)
示例10: config
# 需要导入模块: from werkzeug.contrib.sessions import FilesystemSessionStore [as 别名]
# 或者: from werkzeug.contrib.sessions.FilesystemSessionStore import get [as 别名]
#.........这里部分代码省略.........
Args
----
request (werkzeug.wrappers.Request): the request
object.
Returns
-------
response (werkzeug.wrappers.Response): the response
object.
"""
adapter = self.url_map.bind_to_environ(request.environ)
try:
endpoint, values = adapter.match()
mcontroller = import_module('app.controllers')
# detect filters
filters = endpoint.split(',')
endpoint_pieces = filters[-1].split('.')
# if there exists any filter defined
if len(filters) > 1:
filters = filters[:-1]
# here run filters
for f in filters:
fpieces = f.split('.')
cls = fpieces[0]
fnc = fpieces[1]
mfilter = mcontroller
obj = getattr(mfilter, cls)
ifilter = obj(request)
raw = getattr(ifilter, fnc)(** values)
if isinstance(raw, basestring):
return Response(raw)
if isinstance(raw, Response):
return raw
cls = endpoint_pieces[0]
restful = False
try:
fnc = endpoint_pieces[1]
except:
restful = True
fnc = None
obj = getattr(mcontroller, cls)
instance = obj(request)
raw = None
if restful:
raw = getattr(instance, request.method.lower())(**values)
else:
raw = getattr(instance, fnc)(** values)
if isinstance(raw, Response):
return raw
else:
return Response(raw)