本文整理汇总了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
示例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