本文整理汇总了Python中webnotes.model.doclist.DocList.index方法的典型用法代码示例。如果您正苦于以下问题:Python DocList.index方法的具体用法?Python DocList.index怎么用?Python DocList.index使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webnotes.model.doclist.DocList
的用法示例。
在下文中一共展示了DocList.index方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sort_fields
# 需要导入模块: from webnotes.model.doclist import DocList [as 别名]
# 或者: from webnotes.model.doclist.DocList import index [as 别名]
def sort_fields(doclist):
"""sort on basis of previous_field"""
from webnotes.model.doclist import DocList
newlist = DocList([])
pending = filter(lambda d: d.doctype=='DocField', doclist)
maxloops = 20
while (pending and maxloops>0):
maxloops -= 1
for d in pending[:]:
if d.previous_field:
# field already added
for n in newlist:
if n.fieldname==d.previous_field:
newlist.insert(newlist.index(n)+1, d)
pending.remove(d)
break
else:
newlist.append(d)
pending.remove(d)
# recurring at end
if pending:
newlist += pending
# renum
idx = 1
for d in newlist:
d.idx = idx
idx += 1
doclist.get({"doctype":["!=", "DocField"]}).extend(newlist)
示例2: sort_fields
# 需要导入模块: from webnotes.model.doclist import DocList [as 别名]
# 或者: from webnotes.model.doclist.DocList import index [as 别名]
def sort_fields(doclist):
"""sort on basis of previous_field"""
from webnotes.model.doclist import DocList
newlist = DocList([])
pending = doclist.get({"doctype":"DocField"})
if doclist[0].get("_idx"):
for fieldname in json.loads(doclist[0].get("_idx")):
d = doclist.get({"fieldname": fieldname})
if d:
newlist.append(d[0])
pending.remove(d[0])
else:
maxloops = 20
while (pending and maxloops>0):
maxloops -= 1
for d in pending[:]:
if d.previous_field:
# field already added
for n in newlist:
if n.fieldname==d.previous_field:
newlist.insert(newlist.index(n)+1, d)
pending.remove(d)
break
else:
newlist.append(d)
pending.remove(d)
# recurring at end
if pending:
newlist += pending
# renum
idx = 1
for d in newlist:
d.idx = idx
idx += 1
doclist.get({"doctype":["!=", "DocField"]}).extend(newlist)