本文整理汇总了Python中Directory.get_session方法的典型用法代码示例。如果您正苦于以下问题:Python Directory.get_session方法的具体用法?Python Directory.get_session怎么用?Python Directory.get_session使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Directory
的用法示例。
在下文中一共展示了Directory.get_session方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: send_comment
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_session [as 别名]
def send_comment(self, userid, prefix, comment):
self.lock.acquire() # only send one comment at a time (since we're hitting multiple rootids)
try:
sent_to = {}
for sessionid, rootid in self.sessions.items():
# get the session; if the session has expired, remove and move on
session = Directory.get_session(sessionid)
if not session:
del self.sessions[sessionid]
continue
# if we've already sent to this rootid, skip and move on
if sent_to.has_key(rootid):
continue
sent_to[rootid] = rootid
# find the actual parent of this comment
root = datagate.get_item(rootid)
if not root:
print "RatingProxy couldn't find rootid:", rootid
continue
parentid = self.find_parent(root, prefix) or rootid
# create and send the event to the system (goes to all interested users)
# I'm using a blank windowid so it goes to anyone looking at this rootid
item = datagate.create_item(parentid=parentid, creatorid=userid)
item.text = comment
item.save()
event = BaseView.views['rating']._create_event(item, 'processAdd')
Events.send_event(rootid, event)
finally:
self.lock.release()
示例2: log_it
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_session [as 别名]
def log_it(self, request):
'''Logs the information in a request'''
# first create the request
info = []
info.append('Date: ' + time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime()))
session = Directory.get_session(request.getvalue('z', ''))
if session and session.user:
info.append('User: ' + session.user.username)
for key in request.form.keys():
info.append(key + ": " + str(request.getvalue(key)))
# log to the file
log_sync_lock.acquire()
try:
f = open(Constants.REQUEST_LOG_FILE, 'a')
f.write('\n'.join(info) + '\n\n')
f.close()
finally:
log_sync_lock.release()
示例3: handle_cgi_request
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_session [as 别名]
def handle_cgi_request(self):
"""Handles a cgi request. This is the main entry point for client requests,
whether POST or GET, that are cgi-bin requests. They all share the
same memory space (i.e. this singleton object)."""
# parse the form parameters to the form object
# if a post request, encode everything (post requests can't encode on the client side because they come from forms)
# get requests should encode on the client side (to handle special characters in the URL)
if self.method.lower() == "get":
for item in self.form.list:
item.value = Constants.decode(item.value)
# set the window id
self.windowid = self.getvalue("global_windowid")
# send the headers
self.send_headers()
try:
# get the view
viewst = self.getvalue("global_view", "meetingchooser").lower()
# get the session, if there is one
self.session = Directory.get_session(self.form.getvalue("z", ""))
# if session is none, try logging the user in based upon their username and password parameters
if self.session == None:
self.session = Directory.login(self.form.getvalue("username", ""), self.form.getvalue("password", ""))
# if the view is login, log the session out
if (viewst == "login" or viewst == "logout") and self.session != None:
Directory.logout(self.session)
self.session = None
# if session is still None, send them to the login page
if self.session == None:
viewst = "login"
# process actions
if self.session:
Events.process_actions(self)
# send events xml or send to view processing
if self.getvalue("gm_internal_action") == "send_events_xml":
Events.send_events_xml(self)
else:
# get the view
if not BaseView.views.has_key(viewst):
self.writeln("<html><body>Error! No view named " + viewst + " found.</body></html>")
return
view = BaseView.views[viewst]
self.view = view
# send processing to the view
Constants.log.debug("Sending processing to view: " + viewst)
view.handle_request(self, viewst)
except:
self.writeln("<html><body>")
self.writeln("<hr>")
self.writeln("<b>The following error has occurred in the GroupMind application:</b>")
self.writeln("<pre><tt>")
traceback.print_exc(file=self.out)
traceback.print_exc()
self.writeln("</pre></tt>")
self.writeln("</body></html>")
示例4: clearsession_action
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_session [as 别名]
def clearsession_action(self, request):
session = Directory.get_session(request.getvalue('sessionid'))
Directory.logout(session)