Simplfy entrypoint and add files code (both taken from bzr-cia)
[bzrirker.git] / irkerhook.py
index 0f694c8f15e910cfe87ecfead10ca58337a4b488..7e59a6ebc767d63fe371c169d166982e886e40d9 100644 (file)
@@ -21,30 +21,32 @@ import json
 class IrkerSender(object):
     """An irker message sender."""
 
-    def __init__(self, branch, revision_id, config, local_branch=None,
-        op='commit'):
+    def __init__(self, branch, revision_id, config):
         self.config = config
         self.branch = branch
         self.repository = branch.repository
-        if (local_branch is not None and
-            local_branch.repository.has_revision(revision_id)):
-            self.repository = local_branch.repository
         self._revision_id = revision_id
         self.revision = None
         self.revno = None
-        self.op = op
 
     def _setup_revision_and_revno(self):
         self.revision = self.repository.get_revision(self._revision_id)
         self.revno = self.branch.revision_id_to_revno(self._revision_id)
 
     def _format(self):
+        delta = self.branch.repository.get_revision_delta(self._revision_id)
+        files = []
+        [files.append(f) for (f,_,_) in delta.added]
+        [files.append(f) for (f,_,_) in delta.removed]
+        [files.append(f) for (_,f,_,_,_,_) in delta.renamed]
+        [files.append(f) for (f,_,_,_,_) in delta.modified]
+
         fields = {
             'project': self.project(),
             'committer': self.revision.committer,
-            'repo': '',
+            'repo': self.branch.nick,
             'rev': '%d' % self.revno,
-            'files': '',
+            'files': ' '.join(files),
             'logmsg': self.revision.get_summary(),
             'url': self.url(),
         }