# pylint: disable=C0111,R0903 """Displays the result of a notmuch count query default : unread emails which path do not contained 'Trash' (notmuch count 'tag:unread AND NOT path:/.*Trash.*/') Parameters: * notmuch_count.query: notmuch count query to show result Errors: if the notmuch query failed, the shown value is -1 Dependencies: notmuch (https://notmuchmail.org/) """ import os import core.module import core.widget import util.cli class Module(core.module.Module): def __init__(self, config, theme): super().__init__(config, theme, core.widget.Widget(self.output)) self.__notmuch_count_query = self.parameter( "query", "tag:unread AND NOT path:/.*Trash.*/" ) def output(self, widget): return self.__notmuch_count def state(self, widgets): if self.__notmuch_count == 0: return "empty" return "items" def update(self): try: self.__notmuch_count = util.cli.execute( "notmuch count {}".format(self.__notmuch_count_query) ).strip() except Exception: self.__notmuch_count = "n/a" # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4