{"id":162,"date":"2010-05-11T09:17:38","date_gmt":"2010-05-11T07:17:38","guid":{"rendered":"http:\/\/blog.fh-kaernten.at\/wehr\/?p=162"},"modified":"2010-05-11T10:07:59","modified_gmt":"2010-05-11T08:07:59","slug":"trac-watchlist-plugin-support-for-trac-0-12-microsecond-feature","status":"publish","type":"post","link":"https:\/\/blog.fh-kaernten.at\/wehr\/2010\/05\/11\/trac-watchlist-plugin-support-for-trac-0-12-microsecond-feature\/","title":{"rendered":"Trac, Watchlist plugin support for trac 0.12 microsecond feature"},"content":{"rendered":"<p id=\"top\" \/>\n<p>This is a patch for getting the WatchPlugin working with trac 0.12.<\/p>\n<pre class=\"brush:diff\">+++ .\/plugin.py\u00a0\u00a0 \u00a0Sat Apr 03 16:56:17 2010\r\n@@ -26,6 +26,7 @@\r\n\r\n from\u00a0 trac.env\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import\u00a0 IEnvironmentSetupParticipant\r\n from\u00a0 trac.util\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import\u00a0 format_datetime, pretty_timedelta\r\n+from trac.util.datefmt import\u00a0 from_utimestamp, to_utimestamp\r\n from\u00a0 trac.web.chrome\u00a0 import\u00a0 INavigationContributor\r\n from\u00a0 trac.web.api\u00a0\u00a0\u00a0\u00a0 import\u00a0 IRequestFilter, IRequestHandler, RequestDone\r\n from\u00a0 trac.web.chrome\u00a0 import\u00a0 ITemplateProvider, add_ctxtnav, add_link, add_script, add_notice\r\n@@ -38,6 +39,7 @@\r\n from\u00a0 trac.wiki.model\u00a0 import\u00a0 WikiPage\r\n from\u00a0 trac.ticket.model import Ticket\r\n\r\n+\r\n __DB_VERSION__ = 3\r\n\r\n class WatchlistError(TracError):\r\n@@ -347,9 +349,9 @@\r\n 'name' : name,\r\n 'author' : author,\r\n 'version' : version,\r\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'datetime' : format_datetime( time ),\r\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timedelta' : pretty_timedelta( time ),\r\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timeline_link' : timeline_link( time ),\r\n+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'datetime' : from_utimestamp( time ),\r\n+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timedelta' : pretty_timedelta( from_utimestamp(time) ),\r\n+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timeline_link' : timeline_link( from_utimestamp(time) ),\r\n 'comment' : comment,\r\n 'notify'\u00a0 : notify,\r\n })\r\n@@ -426,9 +428,9 @@\r\n 'author' : author,\r\n 'commentnum': to_unicode(self.commentnum),\r\n 'comment' : len(self.comment) &lt;= 250 and self.comment or self.comment[:250] + '...',\r\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'datetime' : format_datetime( changetime ),\r\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timedelta' : pretty_timedelta( changetime ),\r\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timeline_link' : timeline_link( changetime ),\r\n+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'datetime' : from_utimestamp( changetime ),\r\n+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timedelta' : pretty_timedelta( from_utimestamp( changetime ) ),\r\n+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'timeline_link' : timeline_link( from_utimestamp( changetime ) ),\r\n 'changes' : changes,\r\n 'summary' : summary,\r\n 'notify'\u00a0 : notify,\r\n<\/pre>\n<p>This patch applies to rev <a href=\"http:\/\/trac-hacks.org\/changeset\/7110\">7710<\/a>, you can download the patch from <a href=\"http:\/\/trac-hacks.org\/ticket\/6922\">trac-Hacks<\/a><\/p>\n<p>Have fun \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a patch for getting the WatchPlugin working with trac 0.12. +++ .\/plugin.py\u00a0\u00a0 \u00a0Sat Apr 03 16:56:17 2010 @@ -26,6 +26,7 @@ from\u00a0 trac.env\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import\u00a0 IEnvironmentSetupParticipant from\u00a0 trac.util\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import\u00a0 format_datetime, pretty_timedelta +from trac.util.datefmt import\u00a0 from_utimestamp, to_utimestamp from\u00a0 trac.web.chrome\u00a0 import\u00a0 INavigationContributor from\u00a0 trac.web.api\u00a0\u00a0\u00a0\u00a0 import\u00a0 IRequestFilter, IRequestHandler, RequestDone from\u00a0 trac.web.chrome\u00a0 import\u00a0 ITemplateProvider, add_ctxtnav, add_link, add_script, add_notice &hellip; <a href=\"https:\/\/blog.fh-kaernten.at\/wehr\/2010\/05\/11\/trac-watchlist-plugin-support-for-trac-0-12-microsecond-feature\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Trac, Watchlist plugin support for trac 0.12 microsecond feature<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[12,11],"class_list":["post-162","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-patches","tag-trac"],"_links":{"self":[{"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":0,"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/wehr\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}