]> git.0d.be Git - empathy.git/blobdiff - release.py
Add some contributors and remove those who are already in AUTHORS
[empathy.git] / release.py
index 0a88673ace461915e0222942a98048faf110c11f..ec6b0f9b8e271c691f7335c8b90afd121808930a 100755 (executable)
@@ -6,6 +6,7 @@ import urllib
 import csv
 import datetime
 from string import Template
+from optparse import OptionParser
 
 username = 'xclaesse'
 upload_server = 'master.gnome.org'
@@ -269,12 +270,44 @@ class Project:
                cmd = 'ssh %s@%s install-module -u %s' % (username, upload_server, tarball)
                self.exec_cmd(cmd)
 
+       def send_email(self):
+               notes = self.get_release_notes()
+               cmd = 'xdg-email ' \
+                     ' --cc telepathy@lists.freedesktop.org' \
+                     ' --subject "ANNOUNCE: Empathy %s"' \
+                     ' --body "%s"' \
+                     ' gnome-announce-list@gnome.org' % (self.package_version,
+                                                         notes.replace('"', '\\"'))
+               self.exec_cmd(cmd)
+
        def release(self):
                self.make_tag()
                self.upload_tarball()
-               print self.get_release_notes()
+               self.send_email()
+
+if __name__ == '__main__':
+       p = Project()
+       parser = OptionParser()
+       parser.add_option("-n", "--print-news", action="store_true",\
+               dest="print_news", help="Generate and print news")
+       parser.add_option("-p", "--print-notes", action="store_true",\
+               dest="print_notes", help="Generate and print the release notes")
+       parser.add_option("-w", "--write-news", action="store_true",\
+               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):
+               print p.generate_news ()
+       if (options.print_notes):
+               print p.get_release_notes ()
+       if (options.write_news):
+               p.write_news ()
+       if (options.release):
+               p.release ()
+       if (options.email):
+               p.send_email ()
 
-p = Project()
-#print p.generate_news()
-#p.write_news()
-#p.release()