本文整理汇总了Python中werkzeug.contrib.sessions.FilesystemSessionStore类的典型用法代码示例。如果您正苦于以下问题:Python FilesystemSessionStore类的具体用法?Python FilesystemSessionStore怎么用?Python FilesystemSessionStore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FilesystemSessionStore类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_non_urandom
def test_non_urandom(tmpdir):
urandom = os.urandom
del os.urandom
try:
store = FilesystemSessionStore(str(tmpdir))
store.new()
finally:
os.urandom = urandom
开发者ID:Khan,项目名称:frankenserver,代码行数:8,代码来源:test_sessions.py
示例2: after_request
def after_request(response):
session_store = FilesystemSessionStore(SESSIONS_DIR)
if g.session.should_save:
session_store.save(g.session)
session['sid'] = g.session.sid
session.permanent = True
app.save_session(session, response)
return response
开发者ID:riccardo-forina,项目名称:Roguehell,代码行数:8,代码来源:wsgiserver.py
示例3: test_non_urandom
def test_non_urandom(self):
urandom = os.urandom
del os.urandom
try:
store = FilesystemSessionStore(self.session_folder)
store.new()
finally:
os.urandom = urandom
开发者ID:BaxterStockman,项目名称:WorkoutBuddy,代码行数:8,代码来源:sessions.py
示例4: before_request
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()
开发者ID:riccardo-forina,项目名称:Roguehell,代码行数:8,代码来源:wsgiserver.py
示例5: WSGIApplication
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()
开发者ID:dalinhuang,项目名称:gybprojects,代码行数:57,代码来源:__init__.py
示例6: test_fs_session_lising
def test_fs_session_lising(tmpdir):
store = FilesystemSessionStore(str(tmpdir), renew_missing=True)
sessions = set()
for x in range(10):
sess = store.new()
store.save(sess)
sessions.add(sess.sid)
listed_sessions = set(store.list())
assert sessions == listed_sessions
开发者ID:Khan,项目名称:frankenserver,代码行数:10,代码来源:test_sessions.py
示例7: test_fs_session_lising
def test_fs_session_lising():
"""Test listing of filesystem sessions"""
store = FilesystemSessionStore(session_folder, renew_missing=True)
sessions = set()
for x in xrange(10):
sess = store.new()
store.save(sess)
sessions.add(sess.sid)
listed_sessions = set(store.list())
assert sessions == listed_sessions
开发者ID:EnTeQuAk,项目名称:werkzeug,代码行数:11,代码来源:test_sessions.py
示例8: after_request
def after_request(response):
"""
Closes the database again at the end of the request and store the
session if neccessary.
"""
session_store = FilesystemSessionStore(config.SESSIONS_DIR)
if g.session.should_save:
session_store.save(g.session)
session['sid'] = g.session.sid
session.permanent = True
# we have to do this because Flask
# stores the SecureCookie containing the "Session"
# before calling the "after_request" functions
app.save_session(session, response)
g.db.close()
return response
开发者ID:aljoscha,项目名称:shot-o-matic,代码行数:17,代码来源:shotomatic.py
示例9: test_renewing_fs_session
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
开发者ID:Khan,项目名称:frankenserver,代码行数:7,代码来源:test_sessions.py
示例10: test_renewing_fs_session
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
开发者ID:Mirabis,项目名称:usntssearch,代码行数:7,代码来源:sessions.py
示例11: before_request
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
开发者ID:aljoscha,项目名称:shot-o-matic,代码行数:18,代码来源:shotomatic.py
示例12: __init__
def __init__(self, urls={}, config={}):
self.config = config
try:
self.session_store = FilesystemSessionStore(self.config["sessions"]["path"])
except:
self.session_store = None
ruleset = self.flatten_urls(urls)
rule_map = []
for url, rule in ruleset.items():
rule_map.append(Rule(url, endpoint=rule))
self.url_map = Map(rule_map)
开发者ID:rubik,项目名称:glim,代码行数:14,代码来源:dispatch.py
示例13: on_session_id
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()
开发者ID:aaltinisik,项目名称:customaddons,代码行数:24,代码来源:namespace.py
示例14: __init__
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)
开发者ID:fmfi-svt,项目名称:predmety,代码行数:24,代码来源:app.py
示例15: config
class Glim:
"""
The class that holds the wsgi app of glim framework.
Attributes
----------
config (dict): The 'glim' key of app.config.<env>.
session_store (werkzeug.contrib.sessions.FilesystemSessionStore):
The session store in case of session usage.
url_map (werkzeug.routing.Map): The url map of wsgi app.
Usage
-----
app = Glim(urls, config)
# start the web server
run_simple(host, int(port), app, use_debugger=True, use_reloader=True)
"""
def __init__(self, urls={}, config={}):
self.config = config
try:
self.session_store = FilesystemSessionStore(
self.config['sessions']['path']
)
except:
self.session_store = None
ruleset = self.flatten_urls(urls)
rule_map = []
for url, rule in ruleset.items():
rule_map.append(Rule(url, endpoint=rule))
self.url_map = Map(rule_map)
def flatten_urls(self, urls, current_key="", ruleset={}):
"""
Function flatten urls for route grouping feature of glim. Thanks
for the stackoverflow guy!
Args
----
urls (dict): a dict of url definitions.
current_key (unknown type): a dict or a string marking the
current key that is used for recursive calls.
ruleset (dict): the ruleset that is eventually returned to
dispatcher.
Returns
-------
ruleset (dict): the ruleset to be bound.
"""
for key in urls:
# If the value is of type `dict`, then recurse with the
# value
if isinstance(urls[key], dict):
self.flatten_urls(urls[key], current_key + key)
# Else if the value is type of list, meaning it is a filter
elif isinstance(urls[key], (list, tuple)):
k = ','.join(urls[key])
ruleset[current_key + key] = k
else:
ruleset[current_key + key] = urls[key]
return ruleset
def dispatch_request(self, request):
"""
Function dispatches the request. It also handles route
filtering.
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('.')
#.........这里部分代码省略.........
开发者ID:pombredanne,项目名称:glim,代码行数:101,代码来源:dispatch.py
示例16: test_basic_fs_sessions
def test_basic_fs_sessions(tmpdir):
store = FilesystemSessionStore(str(tmpdir))
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
开发者ID:Khan,项目名称:frankenserver,代码行数:24,代码来源:test_sessions.py
示例17: PredmetyApp
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)
开发者ID:fmfi-svt,项目名称:predmety,代码行数:76,代码来源:app.py
示例18: test_basic_fs_sessions
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
开发者ID:BaxterStockman,项目名称:WorkoutBuddy,代码行数:24,代码来源:sessions.py
示例19: __init__
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 []
开发者ID:dalinhuang,项目名称:gybprojects,代码行数:6,代码来源:__init__.py
示例20: __init__
def __init__(self, path=None, level=1):
self.level = level
s = '%s/' * level
FilesystemSessionStore.__init__(self, path,
filename_template=s+'werkzeug_%s.sess')
开发者ID:dalinhuang,项目名称:gybprojects,代码行数:5,代码来源:sessions.py
注:本文中的werkzeug.contrib.sessions.FilesystemSessionStore类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论