From 3f906cac2506ec677d5dc8c8e03db8da8b478639 Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Mon, 7 Oct 2013 13:33:30 +0200 Subject: [PATCH] irkerhook: Remove file listing --- irkerhook.py | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/irkerhook.py b/irkerhook.py index 2a6c6da..bfcfbea 100755 --- a/irkerhook.py +++ b/irkerhook.py @@ -57,7 +57,6 @@ class Commit: self.rev = None self.mail = None self.author = None - self.files = None self.logmsg = None self.url = None self.author_date = None @@ -223,7 +222,7 @@ class GitExtractor(GenericExtractor): self.channels = do("git config --get irker.channels") self.email = do("git config --get irker.email") self.tcp = do("git config --bool --get irker.tcp") - self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' self.tinyifier = do("git config --get irker.tinyifier") or default_tinyifier self.color = do("git config --get irker.color") self.urlprefix = do("git config --get irker.urlprefix") or "gitweb" @@ -268,9 +267,6 @@ class GitExtractor(GenericExtractor): commit.rev = do("git describe %s 2>/dev/null" % shellquote(commit.commit)) if not commit.rev: commit.rev = commit.commit[:12] - # Extract the meta-information for the commit - commit.files = do("git diff-tree -r --name-only " + shellquote(commit.commit)) - commit.files = " ".join(commit.files.strip().split("\n")[1:]) # Design choice: for git we ship only the first line, which is # conventionally supposed to be a summary of the commit. Under # other VCSes a different choice may be appropriate. @@ -294,7 +290,7 @@ class SvnExtractor(GenericExtractor): if tok.startswith("--repository="): self.repository = tok[13:] self.project = os.path.basename(self.repository) - self.template = '%(bold)s%(project)s%(reset)s: %(green)s%(author)s%(reset)s %(repo)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.template = '%(bold)s%(project)s%(reset)s: %(green)s%(author)s%(reset)s %(repo)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' self.urlprefix = "viewcvs" self.load_preferences(os.path.join(self.repository, "irker.conf")) self.do_overrides() @@ -308,7 +304,6 @@ class SvnExtractor(GenericExtractor): commit.rev = "r%s" % self.id commit.author = self.svnlook("author") commit.commit_date = self.svnlook("date").partition('(')[0] - commit.files = self.svnlook("dirs-changed").strip().replace("\n", " ") commit.logmsg = self.svnlook("log").strip() return commit def svnlook(self, info): @@ -352,7 +347,7 @@ class HgExtractor(GenericExtractor): self.channels = ui.config('irker', 'channels') self.email = ui.config('irker', 'email') self.tcp = str(ui.configbool('irker', 'tcp')) # converted to bool again in do_overrides - self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' self.tinyifier = ui.config('irker', 'tinyifier') or default_tinyifier self.color = ui.config('irker', 'color') self.urlprefix = (ui.config('irker', 'urlprefix') or @@ -382,9 +377,6 @@ class HgExtractor(GenericExtractor): commit.author_date = \ datetime.datetime.fromtimestamp(ctx.date()[0]).strftime('%Y-%m-%d %H:%M:%S') commit.logmsg = ctx.description() - # Extract changed files from status against first parent - st = self.repository.status(ctx.p1().node(), ctx.node()) - commit.files = ' '.join(st[0] + st[1] + st[2]) return commit def hg_hook(ui, repo, **kwds): @@ -425,27 +417,7 @@ def ship(extractor, commit, debug): sys.stderr.write("irkerhook.py: could not decode JSON: %s\n" % data) raise SystemExit, 1 - # Rewrite the file list if too long. The objective here is only - # to be easier on the eyes. - if extractor.cialike \ - and extractor.cialike.lower() != "none" \ - and len(metadata.files) > int(extractor.cialike): - files = metadata.files.split() - dirs = set([d.rpartition('/')[0] for d in files]) - if len(dirs) == 1: - metadata.files = "(%s files)" % (len(files),) - else: - metadata.files = "(%s files in %s dirs)" % (len(files), len(dirs)) - # Message reduction. The assumption here is that IRC can't handle - # lines more than 510 characters long. If we exceed that length, we - # try knocking out the file list, on the theory that for notification - # purposes the commit text is more important. If it's still too long - # there's nothing much can be done other than ship it expecting the IRC - # server to truncate. privmsg = unicode(metadata) - if len(privmsg) > 510: - metadata.files = "" - privmsg = unicode(metadata) # Anti-spamming guard. It's deliberate that we get maxchannels not from # the user-filtered metadata but from the extractor data - means repo -- 1.8.4.3