本文整理汇总了Python中model.Plugin.secret方法的典型用法代码示例。如果您正苦于以下问题:Python Plugin.secret方法的具体用法?Python Plugin.secret怎么用?Python Plugin.secret使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类model.Plugin
的用法示例。
在下文中一共展示了Plugin.secret方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import secret [as 别名]
def post(self):
secret = self.request.get('secret', '')
is_update = False
if len(secret):
plugins = Plugin.query(Plugin.secret == secret).fetch()
if len(plugins) == 0:
send_upload_form(self,
"No plugin could be found that matches that "
"secret.")
return
else:
plugin = plugins[0]
is_update = True
else:
plugin = Plugin()
plugin.zip_url = 'http://' + os.environ['HTTP_HOST'] + '/serve/' + str(
self.get_uploads('zip')[0].key())
zip_data = urllib2.urlopen(plugin.zip_url).read()
if not read_plugin_info(plugin, zip_data):
send_upload_form(self,
"We couldn't find a valid info.json file in your "
"zip.")
return
console_key = self.request.get('console_key', None)
plugin.secret = base64.b64encode(os.urandom(128))
plugin.notes = self.request.get('notes', '')
plugin.zip_md5 = hashlib.md5(zip_data).hexdigest()
admin = users.is_current_user_admin() or \
(console_key and console_key_is_valid(console_key))
if admin:
existing = Plugin.by_name(plugin.name)
if existing:
plugin.downloads += existing.downloads
plugin.put()
existing.disable()
existing.downloads = 0
existing.put()
plugin.put()
if admin:
plugin.enable()
if console_key is not None:
self.response.write({"success": True})
else:
approval_msg = " It'll be public after it's been approved." if not is_update else ""
message = "Your plugin was uploaded!" + approval_msg
self.response.write(template("uploaded.html", {"message": message,
"plugin": plugin}))