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


Python Plugin.query方法代码示例

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


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

示例1: aggregate_download_counts

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def aggregate_download_counts():
  names = set()
  for plugin in Plugin.query(Plugin.approved == False):
    names.add(plugin.name)
  for name in names:
    plugins = list(Plugin.query(Plugin.name == name))
    total = sum([plugin.downloads for plugin in plugins])
    any_approved = len([p for p in plugins if p.approved]) > 0
    if any_approved:
      for p in plugins:
        p.downloads = total if p.approved else 0
        p.put()
开发者ID:11liju,项目名称:Flashlight,代码行数:14,代码来源:cleanup.py

示例2: directory_html

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def directory_html(category=None, search=None, languages=None, browse=False,
                   name=None):
    languages_specified = languages != None
    if not languages_specified:
      languages = ['en']
    if category:
        plugins = list(Plugin.query(Plugin.categories == category,
                                    Plugin.approved == True))
        plugins = stable_daily_shuffle(plugins)
    elif search:
        plugins = search_plugins(search)
    elif name:
        plugin = Plugin.by_name(name)
        plugins = [plugin] if plugin else []
    else:
        plugins = []
    count = len(plugins)
    plugin_dicts = []
    for p in plugins:
        plugin = info_dict_for_plugin(p, languages)
        plugin_dicts.append(plugin)
    groups = group_plugins(plugin_dicts, languages, languages_specified)
    return template("directory.html",
                    {
                      "groups": groups,
                      "browse": browse,
                      "count": count,
                      "search": search})
开发者ID:avenet,项目名称:Flashlight,代码行数:30,代码来源:directory.py

示例3: post

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
	def post(self):
		plugins_by_version = json.loads(self.request.body)
		if len(plugins_by_version.keys()) > 0:
			plugins = Plugin.query(Plugin.name.IN(plugins_by_version.keys())).fetch()
			needs_update = [p.name for p in plugins if p.version and p.version > plugins_by_version[p.name]]
		else:
			needs_update = []
		self.response.write(json.dumps({"plugins": needs_update}))
开发者ID:0x73,项目名称:Flashlight,代码行数:10,代码来源:query_updates.py

示例4: directory_html

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def directory_html(category=None, search=None, languages=None, browse=False, name=None, gae=None, deep_links=False):

    if gae == None:
        gae = not browse

    new = category == "New"
    if new:
        category = None

    languages_specified = languages != None
    if not languages_specified:
        languages = ["en"]
    if category:
        plugins = list(Plugin.query(Plugin.categories == category, Plugin.approved == True))
        plugins = stable_daily_shuffle(plugins)
    elif search:
        plugins = search_plugins(search)
    elif name:
        plugin = Plugin.by_name(name)
        plugins = [plugin] if plugin else []
    elif new:
        plugins = Plugin.query(Plugin.approved == True).order(-Plugin.added).fetch(limit=10)
    else:
        plugins = []
    count = len(plugins)
    plugin_dicts = []
    for p in plugins:
        plugin = info_dict_for_plugin(p, languages)
        plugin_dicts.append(plugin)
    groups = group_plugins(plugin_dicts, languages, languages_specified)
    return template(
        "directory.html",
        {
            "groups": groups,
            "browse": browse,
            "count": count,
            "search": search,
            "deep_links": deep_links,
            "new": new,
            "gae": gae,
        },
    )
开发者ID:imam-san,项目名称:Flashlight,代码行数:44,代码来源:directory.py

示例5: remove_duplicates

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def remove_duplicates():
    plugins = list(Plugin.query().fetch())
    versions_to_keep = {}
    for plugin in plugins:
        if plugin.approved:
            if plugin.name not in versions_to_keep or plugin.added > versions_to_keep[plugin.name].added:
                versions_to_keep[plugin.name] = plugin
    for plugin in plugins:
        if plugin.approved and plugin.name in versions_to_keep and plugin != versions_to_keep[plugin.name]:
            plugin.approved = False
            plugin.put()
开发者ID:11liju,项目名称:Flashlight,代码行数:13,代码来源:cleanup.py

示例6: post

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [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}))
开发者ID:xiangchenpublicgithub,项目名称:Flashlight,代码行数:54,代码来源:main.py

示例7: get

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
 def get(self):
   category = self.request.get('category')
   languages = self.request.get('languages', '').split(',') + ['en']
   plugins = []
   for p in Plugin.query(Plugin.categories == category, Plugin.approved == True):
     plugin = json.loads(p.info_json)
     plugin['displayName'] = get_localized_key(plugin, "displayName", languages, "")
     plugin['description'] = get_localized_key(plugin, "description", languages, "")
     plugin['examples'] = get_localized_key(plugin, "examples", languages, [])
     plugin['model'] = p
     plugin['install_url'] = 'install://_?' + urllib.urlencode([("zip_url", p.zip_url), ("name", p.name.encode('utf8'))])
     plugins.append(plugin)
   self.response.write(template("directory.html", {"plugins": plugins}))
开发者ID:bcaplan,项目名称:Flashlight,代码行数:15,代码来源:main.py

示例8: directory_html

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def directory_html(category=None, search=None, languages=['en'], browse=False, name=None):
  if category:
    plugins = list(Plugin.query(Plugin.categories == category, Plugin.approved == True))
    plugins = stable_daily_shuffle(plugins)
  elif search:
    plugins = search_plugins(search)
  elif name:
    plugin = Plugin.by_name(name)
    plugins = [plugin] if plugin else []
  else:
    plugins = []
  plugin_dicts = []
  for p in plugins:
    plugin = info_dict_for_plugin(p, languages)
    plugin_dicts.append(plugin)
  return template("directory.html", {"plugins": plugin_dicts, "browse": browse, "search": search})
开发者ID:habi,项目名称:Flashlight,代码行数:18,代码来源:main.py

示例9: compute_categories

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def compute_categories():
    categories = set()
    for p in Plugin.query(Plugin.approved is True):
        for c in p.categories:
            categories.add(c)
    return categories
开发者ID:xiangchenpublicgithub,项目名称:Flashlight,代码行数:8,代码来源:main.py

示例10: compute_categories

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def compute_categories():
		categories = set()
		for p in Plugin.query(Plugin.approved == True, projection=[Plugin.categories]):
				for c in p.categories:
						categories.add(c)
		return categories
开发者ID:0x73,项目名称:Flashlight,代码行数:8,代码来源:main.py

示例11: ensure_documents_indexed

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def ensure_documents_indexed():
  for plugin in Plugin.query(Plugin.approved == True):
    search.ensure_plugin_indexed(plugin)
开发者ID:11liju,项目名称:Flashlight,代码行数:5,代码来源:cleanup.py

示例12: compute_categories

# 需要导入模块: from model import Plugin [as 别名]
# 或者: from model.Plugin import query [as 别名]
def compute_categories():
    categories = set()
    for p in Plugin.query():
      for c in p.categories:
        categories.add(c)
    return categories
开发者ID:bcaplan,项目名称:Flashlight,代码行数:8,代码来源:main.py


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