remove self.repository in favour of self.branch.repository
[bzrirker.git] / irkerhook.py
index 6aadd7ed7d5be55309bc3da1bb212aafd8194c5a..4eecd2144eb2bdfa40567757112dd3e46db1a602 100644 (file)
@@ -15,22 +15,22 @@ class IrkerSender(object):
     def __init__(self, branch, revision_id, config):
         self.config = config
         self.branch = branch
-        self.repository = branch.repository
         self._revision_id = revision_id
         self.revision = None
         self.revno = None
 
     def _setup_revision_and_revno(self):
-        self.revision = self.repository.get_revision(self._revision_id)
+        self.revision = self.branch.repository.get_revision(self._revision_id)
         self.revno = self.branch.revision_id_to_revno(self._revision_id)
 
     def _format(self):
+        """Munge the commit info into an irc message"""
         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]
+        [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(),
@@ -39,27 +39,16 @@ class IrkerSender(object):
             'rev': '%d' % self.revno,
             'files': ' '.join(files),
             'logmsg': self.revision.get_summary(),
-            'url': self.url(),
         }
-        for name, value in self.colours():
-            fields[name] = value
+        fields.update(self.colours())
         text = ('%(bold)s%(project)s:%(reset)s '
                 '%(green)s%(committer)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' % fields)
+                ' %(bold)s%(files)s%(reset)s: %(logmsg)s ' % fields)
         return text
 
-    def url(self):
-        """What URL to display in the subject of the mail"""
-        url = self.config.get('irker_url')
-        if url is None:
-            url = self.config.get('public_branch')
-        if url is None:
-            url = self.branch.base
-        return url
-
     def colours(self):
+        """Utility function to handle the colours"""
         colour_style = self.config.get('irker_colours')
         colours = {
                 'bold': '',
@@ -97,7 +86,7 @@ class IrkerSender(object):
                     'cyan': '\x0310',
                     'reset': '\x0F',
                     }
-        return colours.iteritems()
+        return colours
 
     def project(self):
         project = self.config.get('irker_project')
@@ -109,7 +98,7 @@ class IrkerSender(object):
         """Send the info to irkerd.
         """
         self.branch.lock_read()
-        self.repository.lock_read()
+        self.branch.repository.lock_read()
         # These should become configurable at some point
         default_server = 'localhost'
         IRKER_PORT = 6659
@@ -135,11 +124,9 @@ class IrkerSender(object):
                 finally:
                     sock.close()
         finally:
-            self.repository.unlock()
+            self.branch.repository.unlock()
             self.branch.unlock()
 
-opt_irker_url = Option('irker_url',
-    help='URL to mention for branch in messages.')
 opt_irker_channels = Option('irker_channels',
     help='Channel(s) to post commit messages to.')
 opt_irker_colours = Option('irker_colours',