]> git.0d.be Git - empathy.git/blobdiff - release.py
accounts_dialog_button_create_clicked_cb: if, for some reason, mc_account_create...
[empathy.git] / release.py
index a41eee7530c7f1c2901bca5eb0186953884d6718..9f9f677520fca11b0b8b40b14172b7a425f51603 100755 (executable)
@@ -137,19 +137,24 @@ class Project:
        def parse_commit(self, ref, author, date, message):
                p1 = message.rfind('(')
                p2 = message.rfind (')')
-               if len(message) - p2 <= 2:
+               if len(message) - p2 <= 2 and \
+                  message[p1+1:].find('#') == -1:
                        author = message[p1+1:p2]
                        message = message[:p1]
 
                msg = message.lower()
-               if msg.find('translation') != -1 and\
-                  msg.find('updated') != -1:
+               if msg.find('translation') != -1 and \
+                  (msg.find('added') != -1 or \
+                   msg.find('updated') != -1):
                        self.translations += ' - ' + message + ' (' + author + ').\n' 
                elif message.find('#') != -1:
                        p1 = message.find('#')
                        while p1 != -1:
                                bug = Bug()
-                               p2 = message.find(' ', p1)
+                               p2 = p1 + 1
+                               while p2 < len (message) and \
+                                     message[p2].isdigit():
+                                       p2 = p2 + 1
                                bug.number = message[p1+1:p2]
                                bug.author = author
                                self.bug_commits.append(bug)
@@ -276,7 +281,8 @@ class Project:
                      ' --cc telepathy@lists.freedesktop.org' \
                      ' --subject "ANNOUNCE: Empathy %s"' \
                      ' --body "%s"' \
-                     ' gnome-announce-list@gnome.org' % (self.package_version, notes)
+                     ' gnome-announce-list@gnome.org' % (self.package_version,
+                                                         notes.replace('"', '\\"'))
                self.exec_cmd(cmd)
 
        def release(self):
@@ -295,6 +301,8 @@ if __name__ == '__main__':
                dest="write_news", help="Generate and write news into the NEWS file")
        parser.add_option("-r", "--release", action="store_true",\
                dest="release", help="Release the tarball")
+       parser.add_option("-e", "--email", action="store_true",\
+               dest="email", help="Send the release announce email")
 
        (options, args) = parser.parse_args ()
        if (options.print_news):
@@ -305,4 +313,6 @@ if __name__ == '__main__':
                p.write_news ()
        if (options.release):
                p.release ()
+       if (options.email):
+               p.send_email ()