mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
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
This commit is contained in:
parent
e253c94888
commit
031ca3f1bd
2 changed files with 27 additions and 3 deletions
17
NEWS
17
NEWS
|
@ -1,6 +1,23 @@
|
||||||
Notmuch 0.22 (UNRELEASED)
|
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
|
Emacs Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see http://www.gnu.org/licenses/ .
|
# 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
|
Messages matching each search are grouped by thread. Each message
|
||||||
that contains both a subject and message-id will have the displayed
|
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
|
from __future__ import print_function
|
||||||
|
@ -232,6 +232,10 @@ class Page (object):
|
||||||
class HtmlPage (Page):
|
class HtmlPage (Page):
|
||||||
_slug_regexp = re.compile('\W+')
|
_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):
|
def _write_header(self, views, stream):
|
||||||
super(HtmlPage, self)._write_header(views=views, stream=stream)
|
super(HtmlPage, self)._write_header(views=views, stream=stream)
|
||||||
stream.write('<ul>\n')
|
stream.write('<ul>\n')
|
||||||
|
@ -292,8 +296,9 @@ class HtmlPage (Page):
|
||||||
'message-id': quote(display_data['message-id']),
|
'message-id': quote(display_data['message-id']),
|
||||||
'subject': xml.sax.saxutils.escape(display_data['subject']),
|
'subject': xml.sax.saxutils.escape(display_data['subject']),
|
||||||
}
|
}
|
||||||
|
d['url'] = self.message_url_template.format(**d)
|
||||||
display_data['subject'] = (
|
display_data['subject'] = (
|
||||||
'<a href="http://mid.gmane.org/{message-id}">{subject}</a>'
|
'<a href="{url}">{subject}</a>'
|
||||||
).format(**d)
|
).format(**d)
|
||||||
for key in ['message-id', 'from']:
|
for key in ['message-id', 'from']:
|
||||||
if key in display_data:
|
if key in display_data:
|
||||||
|
@ -405,6 +410,8 @@ _PAGES['text'] = Page()
|
||||||
_PAGES['html'] = HtmlPage(
|
_PAGES['html'] = HtmlPage(
|
||||||
header=header_template.format(**context),
|
header=header_template.format(**context),
|
||||||
footer=footer_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:
|
if args.list_views:
|
||||||
|
|
Loading…
Reference in a new issue