本文整理汇总了Python中trac.ticket.model.Ticket.first_changeset方法的典型用法代码示例。如果您正苦于以下问题:Python Ticket.first_changeset方法的具体用法?Python Ticket.first_changeset怎么用?Python Ticket.first_changeset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trac.ticket.model.Ticket
的用法示例。
在下文中一共展示了Ticket.first_changeset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_blocked_tickets
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import first_changeset [as 别名]
def get_blocked_tickets(self):
"""Return all tickets of blocking changesets in order of them
getting unblocked."""
tickets = []
tickets_visited = set(['']) # merge changesets have empty ticket values
# restrict changesets to only those not completed
changesets = self.get_changesets()
blocking_changeset = self.get_blocking_changeset(changesets)
if blocking_changeset is None:
return []
changesets = changesets[changesets.index(blocking_changeset):]
# only consider changesets that come after the blocking changeset
review = self.get_review(blocking_changeset)
blocking_when = review.changeset_when
# find blocked tickets
for changeset in changesets:
review = self.get_review(changeset)
for ticket in review.tickets:
if ticket in tickets_visited:
continue
tickets_visited.add(ticket)
def get_first_remaining_changeset():
for review in self.get_reviews(ticket):
if review.changeset in changesets and \
review.changeset_when >= blocking_when:
return review # changeset exists on path
raise ResourceNotFound("Not found for #%s" % ticket)
# the ticket's oldest *remaining* changeset determines blockage
# i.e., if current is already past a changeset, ignore it
try:
first = get_first_remaining_changeset()
tkt = Ticket(self.env, ticket)
tkt.first_changeset = first.changeset
tkt.first_changeset_when = first.changeset_when
tickets.append( tkt )
except ResourceNotFound:
pass # e.g., incorrect ticket reference
return sorted(tickets, key=lambda t: t.first_changeset_when)