本文整理汇总了Python中trac.ticket.model.Ticket.get_change方法的典型用法代码示例。如果您正苦于以下问题:Python Ticket.get_change方法的具体用法?Python Ticket.get_change怎么用?Python Ticket.get_change使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trac.ticket.model.Ticket
的用法示例。
在下文中一共展示了Ticket.get_change方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_delete_last_comment
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_last_comment(self):
ticket = Ticket(self.env, self.id)
self.assertEqual("a", ticket["keywords"])
self.assertEqual("change4", ticket["foo"])
ticket.delete_change(4)
self.assertEqual("a, b", ticket["keywords"])
self.assertEqual("change3", ticket["foo"])
self.assertEqual(None, ticket.get_change(4))
self.assertNotEqual(None, ticket.get_change(3))
self.assertEqual(self.t3, ticket.time_changed)
示例2: test_delete_last_comment_by_date
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_last_comment_by_date(self):
ticket = Ticket(self.env, self.id)
self.assertEqual('a', ticket['keywords'])
self.assertEqual('change4', ticket['foo'])
t = datetime.now(utc)
ticket.delete_change(cdate=self.t4, when=t)
self.assertEqual('a, b', ticket['keywords'])
self.assertEqual('change3', ticket['foo'])
self.assertEqual(None, ticket.get_change(cdate=self.t4))
self.assertNotEqual(None, ticket.get_change(cdate=self.t3))
self.assertEqual(t, ticket.time_changed)
示例3: test_delete_mid_comment_inconsistent
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_mid_comment_inconsistent(self):
# Make oldvalue on keywords for change 4 inconsistent. This should
# result in no change in oldvalue when deleting change 3. The
# oldvalue of foo should change normally.
cursor = self.db.cursor()
cursor.execute("UPDATE ticket_change SET oldvalue='1, 2' " "WHERE field='keywords' AND oldvalue='a, b'")
self.db.commit()
ticket = Ticket(self.env, self.id)
self.assertChange(
ticket,
4,
self.t4,
"joe",
comment=dict(author="joe", old="4", new="Comment 4"),
keywords=dict(author="joe", old="1, 2", new="a"),
foo=dict(author="joe", old="change3", new="change4"),
)
ticket.delete_change(3)
self.assertEqual(None, ticket.get_change(3))
self.assertEqual("a", ticket["keywords"])
self.assertChange(
ticket,
4,
self.t4,
"joe",
comment=dict(author="joe", old="4", new="Comment 4"),
keywords=dict(author="joe", old="1, 2", new="a"),
foo=dict(author="joe", old="change2", new="change4"),
)
示例4: send
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def send (self, from_addr, recipients, message):
parsed = email.message_from_string(message)
link = parsed.get('X-Trac-Ticket-URL')
if link:
match = self.TICKET_URI_RE.search(link)
if match:
tktid = match.group('tktid')
cnum = match.group('cnum')
if cnum is not None:
cnum = int(cnum)
try:
ticket = Ticket(self.env, tktid)
except ResourceNotFound:
pass
change = ticket.get_change(cnum)
if change:
author = change.get('author', None)
fields = change.get('fields', None)
if not author and fields:
author = fields[0]['author']
if author and\
QuietSystem(self.env).is_quiet_mode(change['author']):
return
SmtpEmailSender.send(self, from_addr, recipients, message)
示例5: test_delete_mid_comment
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_mid_comment(self):
ticket = Ticket(self.env, self.id)
self.assertChange(ticket, 4, self.t4, 'joe',
comment=dict(author='joe', old='4', new='Comment 4'),
keywords=dict(author='joe', old='a, b', new='a'),
foo=dict(author='joe', old='change3', new='change4'))
ticket.delete_change(3)
self.assertEqual(None, ticket.get_change(3))
self.assertEqual('a', ticket['keywords'])
self.assertChange(ticket, 4, self.t4, 'joe',
comment=dict(author='joe', old='4', new='Comment 4'),
keywords=dict(author='joe', old='a, b, c', new='a'),
foo=dict(author='joe', old='change2', new='change4'))
self.assertEqual(self.t4, ticket.time_changed)
示例6: test_delete_last_comment_when_custom_field_gone
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_last_comment_when_custom_field_gone(self):
"""Regression test for http://trac.edgewall.org/ticket/10858"""
ticket = Ticket(self.env, self.id)
self.assertEqual('a', ticket['keywords'])
self.assertEqual('change4', ticket['foo'])
# we simulate the removal of the definition of the 'foo' custom field
self.env.config.remove('ticket-custom', 'foo')
del TicketSystem(self.env).fields
del TicketSystem(self.env).custom_fields
ticket = Ticket(self.env, self.id)
#
t = datetime.now(utc)
ticket.delete_change(cnum=4, when=t)
self.assertEqual('a, b', ticket['keywords'])
# 'foo' is no longer defined for the ticket
self.assertEqual(None, ticket['foo'])
# however, 'foo=change3' is still in the database
self.assertEqual([('change3',)], self.env.db_query("""
SELECT value FROM ticket_custom WHERE ticket=%s AND name='foo'
""", (self.id,)))
self.assertEqual(None, ticket.get_change(cnum=4))
self.assertNotEqual(None, ticket.get_change(cnum=3))
self.assertEqual(t, ticket.time_changed)
示例7: _format_comment_link
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def _format_comment_link(self, formatter, ns, target, label):
resource = None
if ":" in target:
elts = target.split(":")
if len(elts) == 3:
cnum, realm, id = elts
if cnum != "description" and cnum and not cnum[0].isdigit():
realm, id, cnum = elts # support old comment: style
id = as_int(id, None)
resource = formatter.resource(realm, id)
else:
resource = formatter.resource
cnum = target
if (
resource
and resource.id
and resource.realm == "ticket"
and cnum
and (all(c.isdigit() for c in cnum) or cnum == "description")
):
href = title = class_ = None
if self.resource_exists(resource):
from trac.ticket.model import Ticket
ticket = Ticket(self.env, resource.id)
if cnum != "description" and not ticket.get_change(cnum):
title = _("ticket comment does not exist")
class_ = "missing ticket"
elif "TICKET_VIEW" in formatter.perm(resource):
href = formatter.href.ticket(resource.id) + "#comment:%s" % cnum
if resource.id != formatter.resource.id:
if cnum == "description":
title = _("Description for Ticket #%(id)s", id=resource.id)
else:
title = _("Comment %(cnum)s for Ticket #%(id)s", cnum=cnum, id=resource.id)
class_ = ticket["status"] + " ticket"
else:
title = _("Description") if cnum == "description" else _("Comment %(cnum)s", cnum=cnum)
class_ = "ticket"
else:
title = _("no permission to view ticket")
class_ = "forbidden ticket"
else:
title = _("ticket does not exist")
class_ = "missing ticket"
return tag.a(label, class_=class_, href=href, title=title)
return label
示例8: test_delete_mid_comment_inconsistent
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_mid_comment_inconsistent(self):
# Make oldvalue on keywords for change 4 inconsistent. This should
# result in no change in oldvalue when deleting change 3. The
# oldvalue of foo should change normally.
self.env.db_transaction("""
UPDATE ticket_change SET oldvalue='1, 2'
WHERE field='keywords' AND oldvalue='a, b'
""")
ticket = Ticket(self.env, self.id)
self.assertChange(ticket, 4, self.t4, 'joe',
comment=dict(author='joe', old='4', new='Comment 4'),
keywords=dict(author='joe', old='1, 2', new='a'),
foo=dict(author='joe', old='change3', new='change4'))
ticket.delete_change(3)
self.assertEqual(None, ticket.get_change(3))
self.assertEqual('a', ticket['keywords'])
self.assertChange(ticket, 4, self.t4, 'joe',
comment=dict(author='joe', old='4', new='Comment 4'),
keywords=dict(author='joe', old='1, 2', new='a'),
foo=dict(author='joe', old='change2', new='change4'))
示例9: test_delete_mid_comment
# 需要导入模块: from trac.ticket.model import Ticket [as 别名]
# 或者: from trac.ticket.model.Ticket import get_change [as 别名]
def test_delete_mid_comment(self):
ticket = Ticket(self.env, self.id)
self.assertChange(
ticket,
4,
self.t4,
"joe",
comment=dict(author="joe", old="4", new="Comment 4"),
keywords=dict(author="joe", old="a, b", new="a"),
foo=dict(author="joe", old="change3", new="change4"),
)
ticket.delete_change(3)
self.assertEqual(None, ticket.get_change(3))
self.assertEqual("a", ticket["keywords"])
self.assertChange(
ticket,
4,
self.t4,
"joe",
comment=dict(author="joe", old="4", new="Comment 4"),
keywords=dict(author="joe", old="a, b, c", new="a"),
foo=dict(author="joe", old="change2", new="change4"),
)
self.assertEqual(self.t4, ticket.time_changed)