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


Python DateTime.remove方法代码示例

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


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

示例1: mangleQuery

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import remove [as 别名]
def mangleQuery(keywords, config, schema):
    """ translate / mangle query parameters to replace zope specifics
        with equivalent constructs for solr """
    extras = {}
    for key, value in keywords.items():
        if key.endswith('_usage'):          # convert old-style parameters
            category, spec = value.split(':', 1)
            extras[key[:-6]] = {category: spec}
            del keywords[key]
        elif isinstance(value, dict):       # unify dict parameters
            keywords[key] = value['query']
            del value['query']
            extras[key] = value
        elif hasattr(value, 'query'):       # unify object parameters
            keywords[key] = value.query
            extra = dict()
            for arg in query_args:
                arg_val = getattr(value, arg, None)
                if arg_val is not None:
                    extra[arg] = arg_val
            extras[key] = extra
        elif key in ignored:
            del keywords[key]

    # find EPI indexes
    if schema:
        epi_indexes = {}
        for name in schema.keys():
            parts = name.split('_')
            if parts[-1] in ['string', 'depth', 'parents']:
                count = epi_indexes.get(parts[0], 0)
                epi_indexes[parts[0]] = count + 1
        epi_indexes = [k for k, v in epi_indexes.items() if v == 3]
    else:
        epi_indexes = ['path']

    for key, value in keywords.items():
        args = extras.get(key, {})
        if key == 'SearchableText':
            keywords[key] = mangleSearchableText(value, config)
            continue
        if key in epi_indexes:
            if isinstance(value, (list, tuple)):
                value = map(quotePath, value)
            else:
                value = quotePath(value)
            path = keywords['%s_parents' % key] = value
            del keywords[key]
            if 'depth' in args:
                depth = int(args['depth'])
                if depth >= 0:
                    if not isinstance(value, (list, tuple)):
                        path = [path]
                    tmpl = '+(+%s_depth:[%d TO %d] AND +%s_parents:%s)'
                    params = keywords['%s_parents' % key] = set()
                    for p in path:
                        base = len(p.split('/'))
                        params.add(
                            tmpl % (
                                key,
                                base + (depth and 1),
                                base + depth,
                                key,
                                p
                            )
                        )
                del args['depth']
        elif key == 'effectiveRange':
            if isinstance(value, DateTime):
                steps = getattr(config, 'effective_steps', 1)
                if steps > 1:
                    value = DateTime(value.timeTime() // steps * steps)
                value = iso8601date(value)
            del keywords[key]
            keywords['effective'] = '[* TO %s]' % value
            keywords['expires'] = '[%s TO *]' % value
        elif key == 'show_inactive':
            del keywords[key]           # marker for `effectiveRange`
        elif 'range' in args:
            if not isinstance(value, (list, tuple)):
                value = [value]
            payload = map(iso8601date, value)
            keywords[key] = ranges[args['range']] % tuple(payload)
            del args['range']
        elif 'operator' in args:
            if isinstance(value, (list, tuple)) and len(value) > 1:
                sep = ' %s ' % args['operator'].upper()
                value = sep.join(map(str, map(iso8601date, value)))
                keywords[key] = '(%s)' % value
            del args['operator']
        elif key == 'allowedRolesAndUsers':
            if getattr(config, 'exclude_user', False):
                token = 'user$' + getSecurityManager().getUser().getId()
                if token in value:
                    value.remove(token)
        elif isinstance(value, DateTime):
            keywords[key] = iso8601date(value)
        elif not isinstance(value, basestring):
            assert not args, 'unsupported usage: %r' % args
开发者ID:netsight,项目名称:collective.solr,代码行数:101,代码来源:mangler.py

示例2: mangleQuery

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import remove [as 别名]
def mangleQuery(keywords, config, schema):
    """ translate / mangle query parameters to replace zope specifics
        with equivalent constructs for solr """
    extras = {}
    for key, value in keywords.items():
        if key.endswith("_usage"):  # convert old-style parameters
            category, spec = value.split(":", 1)
            extras[key[:-6]] = {category: spec}
            del keywords[key]
        elif isinstance(value, dict):  # unify dict parameters
            keywords[key] = value["query"]
            del value["query"]
            extras[key] = value
        elif getattr(value, "query", None):  # unify object parameters
            keywords[key] = value.query
            extra = dict()
            for arg in query_args:
                arg_val = getattr(value, arg, None)
                if arg_val is not None:
                    extra[arg] = arg_val
            extras[key] = extra
        elif key in ignored:
            del keywords[key]

    # find EPI indexes
    if schema:
        epi_indexes = {}
        for name in schema.keys():
            parts = name.split("_")
            if parts[-1] in ["string", "depth", "parents"]:
                count = epi_indexes.get(parts[0], 0)
                epi_indexes[parts[0]] = count + 1
        epi_indexes = [k for k, v in epi_indexes.items() if v == 3]
    else:
        epi_indexes = ["path"]

    for key, value in keywords.items():
        args = extras.get(key, {})
        if key == "SearchableText":
            keywords[key] = mangleSearchableText(value, config)
            continue
        if key in epi_indexes:
            if isinstance(value, (list, tuple)):
                value = map(quotePath, value)
            else:
                value = quotePath(value)
            path = keywords["%s_parents" % key] = value
            del keywords[key]
            if "depth" in args:
                depth = int(args["depth"])
                if depth >= 0:
                    if not isinstance(value, (list, tuple)):
                        path = [path]
                    tmpl = "+(+%s_depth:[%d TO %d] AND +%s_parents:%s)"
                    params = keywords["%s_parents" % key] = set()
                    for p in path:
                        base = len(p.split("/"))
                        params.add(tmpl % (key, base + (depth and 1), base + depth, key, p))
                del args["depth"]
        elif key == "effectiveRange":
            if isinstance(value, DateTime):
                steps = getattr(config, "effective_steps", 1)
                if steps > 1:
                    value = DateTime(value.timeTime() // steps * steps)
                value = iso8601date(value)
            del keywords[key]
            keywords["effective"] = "[* TO %s]" % value
            keywords["expires"] = "[%s TO *]" % value
        elif key == "show_inactive":
            del keywords[key]  # marker for `effectiveRange`
        elif "range" in args:
            if not isinstance(value, (list, tuple)):
                value = [value]
            payload = map(iso8601date, value)
            keywords[key] = ranges[args["range"]] % tuple(payload)
            del args["range"]
        elif "operator" in args:
            if isinstance(value, (list, tuple)) and len(value) > 1:
                sep = " %s " % args["operator"].upper()
                value = sep.join(map(str, map(iso8601date, value)))
                keywords[key] = "(%s)" % value
            del args["operator"]
        elif key == "allowedRolesAndUsers":
            if getattr(config, "exclude_user", False):
                token = "user$" + getSecurityManager().getUser().getId()
                if token in value:
                    value.remove(token)
        elif isinstance(value, DateTime):
            keywords[key] = iso8601date(value)
        elif not isinstance(value, basestring):
            assert not args, "unsupported usage: %r" % args
开发者ID:derFreitag,项目名称:collective.solr,代码行数:93,代码来源:mangler.py


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