aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorW. Trevor King <wking@tremily.us>2016-01-01 22:07:41 -0800
committerDavid Bremner <david@tethera.net>2016-03-24 07:39:25 -0300
commit031ca3f1bdb5e9edb9fc21779149bdfcb554a83f (patch)
tree3feb63286b74a05c6a99860cd2da9cf9e3bb8421
parente253c94888046926794f58124cbd2a219501ab1b (diff)
nmbug-status: Add meta.message-url config setting
So you can link to archives other than Gmane. For example, I'm doing this in [1]. [1]: https://github.com/wking/nmbug-oci
-rw-r--r--NEWS17
-rwxr-xr-xdevel/nmbug/nmbug-status13
2 files changed, 27 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 613fdfeb..6ccff2b9 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,23 @@
Notmuch 0.22 (UNRELEASED)
=========================
+nmbug-status
+------------
+
+`nmbug-status` now supports `meta.message-url` to override the Gmane
+template. For example, you can use:
+
+ {
+ "meta": {
+ "message-url": "https://groups.google.com/a/opencontainers.org/forum/#!search/messageid$3A%22{message-id}%22"
+ ...
+ },
+ ...
+ }
+
+To link to messages in the [opencontainers.org Google
+Groups](https://groups.google.com/a/opencontainers.org/forum/#!overview).
+
Emacs Interface
---------------
diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status
index 33ab626c..9de80d36 100755
--- a/devel/nmbug/nmbug-status
+++ b/devel/nmbug/nmbug-status
@@ -19,11 +19,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/ .
-"""Generate HTML for one or more notmuch searches.
+"""Generate text and/or HTML for one or more notmuch searches.
Messages matching each search are grouped by thread. Each message
that contains both a subject and message-id will have the displayed
-subject link to the Gmane view of the message.
+subject link to an archive view of the message (defaulting to Gmane).
"""
from __future__ import print_function
@@ -232,6 +232,10 @@ class Page (object):
class HtmlPage (Page):
_slug_regexp = re.compile('\W+')
+ def __init__(self, message_url_template, **kwargs):
+ self.message_url_template = message_url_template
+ super(HtmlPage, self).__init__(**kwargs)
+
def _write_header(self, views, stream):
super(HtmlPage, self)._write_header(views=views, stream=stream)
stream.write('<ul>\n')
@@ -292,8 +296,9 @@ class HtmlPage (Page):
'message-id': quote(display_data['message-id']),
'subject': xml.sax.saxutils.escape(display_data['subject']),
}
+ d['url'] = self.message_url_template.format(**d)
display_data['subject'] = (
- '<a href="http://mid.gmane.org/{message-id}">{subject}</a>'
+ '<a href="{url}">{subject}</a>'
).format(**d)
for key in ['message-id', 'from']:
if key in display_data:
@@ -405,6 +410,8 @@ _PAGES['text'] = Page()
_PAGES['html'] = HtmlPage(
header=header_template.format(**context),
footer=footer_template.format(**context),
+ message_url_template=config['meta'].get(
+ 'message-url', 'http://mid.gmane.org/{message-id}'),
)
if args.list_views: