当前位置: 首页>>代码示例>>Python>>正文


Python User.save_preferences方法代码示例

本文整理汇总了Python中rainwave.user.User.save_preferences方法的典型用法代码示例。如果您正苦于以下问题:Python User.save_preferences方法的具体用法?Python User.save_preferences怎么用?Python User.save_preferences使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rainwave.user.User的用法示例。


在下文中一共展示了User.save_preferences方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: RainwaveHandler

# 需要导入模块: from rainwave.user import User [as 别名]
# 或者: from rainwave.user.User import save_preferences [as 别名]

#.........这里部分代码省略.........
			self.sid = fieldtypes.integer(self.get_cookie("r4_sid", None))
			hostname = self.request.headers.get('Host', None)
			if hostname:
				hostname = unicode(hostname).split(":")[0]
				if hostname in config.station_hostnames:
					self.sid = config.station_hostnames[hostname]
			sid_arg = fieldtypes.integer(self.get_argument("sid", None))
			if sid_arg is not None:
				self.sid = sid_arg
			if self.sid is None and self.sid_required:
				raise APIException("missing_station_id", http_code=400)

		self.arg_parse()

		self.sid_check()

		if self.sid:
			self.set_cookie("r4_sid", str(self.sid), expires_days=365)

		if self.phpbb_auth:
			self.do_phpbb_auth()
		else:
			self.rainwave_auth()

		if not self.user and self.auth_required:
			raise APIException("auth_required", http_code=403)
		elif not self.user and not self.auth_required:
			self.user = User(1)
			self.user.ip_address = self.request.remote_ip

		self.user.refresh(self.sid)

		if self.user and config.get("store_prefs"):
			self.user.save_preferences(self.request.remote_ip, self.get_cookie("r4_prefs", None))

		self.permission_checks()

	# works without touching cookies or headers, primarily used for websocket requests
	def prepare_standalone(self, message_id=None):
		self._output = {}
		if message_id != None:
			self.append("message_id", { "message_id": message_id })
		self.setup_output()
		self.arg_parse()
		self.sid_check()
		self.permission_checks()

	def do_phpbb_auth(self):
		phpbb_cookie_name = config.get("phpbb_cookie_name") + "_"
		user_id = fieldtypes.integer(self.get_cookie(phpbb_cookie_name + "u", ""))
		if not user_id:
			pass
		else:
			if self._verify_phpbb_session(user_id):
				# update_phpbb_session is done by verify_phpbb_session if successful
				self.user = User(user_id)
				self.user.ip_address = self.request.remote_ip
				self.user.authorize(self.sid, None, bypass=True)
				return True

			if not self.user and self.get_cookie(phpbb_cookie_name + "k"):
				can_login = db.c.fetch_var("SELECT 1 FROM phpbb_sessions_keys WHERE key_id = %s AND user_id = %s", (hashlib.md5(self.get_cookie(phpbb_cookie_name + "k")).hexdigest(), user_id))
				if can_login == 1:
					self._update_phpbb_session(self._get_phpbb_session(user_id))
					self.user = User(user_id)
					self.user.ip_address = self.request.remote_ip
开发者ID:Abchrisabc,项目名称:rainwave,代码行数:70,代码来源:web.py


注:本文中的rainwave.user.User.save_preferences方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。