diff --git a/setup/git_pre_commit_hook.py b/setup/git_pre_commit_hook.py index 5a92b1f8bc..b992208168 100755 --- a/setup/git_pre_commit_hook.py +++ b/setup/git_pre_commit_hook.py @@ -1,11 +1,16 @@ #!/usr/bin/env python2 # vim:fileencoding=utf-8 -from __future__ import (unicode_literals, division, absolute_import, - print_function) +# License: GPLv3 Copyright: 2008, Kovid Goyal +from __future__ import absolute_import, division, print_function, unicode_literals -__license__ = 'GPL v3' -__copyright__ = '2008, Kovid Goyal ' +import importlib +import json +import re +import socket +import sys +import urllib +from lxml import html ''' Hook to make the commit command automatically close bugs when the commit @@ -13,9 +18,7 @@ message contains `Fix #number` or `Implement #number`. Also updates the commit message with the summary of the closed bug. ''' -import re, urllib, importlib, sys, json, socket -from lxml import html SENDMAIL = ('/home/kovid/work/env', 'pgp_mail') LAUNCHPAD_BUG = 'https://bugs.launchpad.net/calibre/+bug/%s' @@ -24,6 +27,7 @@ BUG_PAT = r'(Fix|Implement|Fixes|Fixed|Implemented|See)\s+#(\d+)' socket.setdefaulttimeout(90) + class Bug: def __init__(self): @@ -46,7 +50,7 @@ class Bug: else: summary = json.loads(urllib.urlopen(GITHUB_BUG % bug).read())['title'] if summary: - print ('Working on bug:', summary) + print('Working on bug:', summary) if int(bug) > 100000 and action != 'See': self.close_bug(bug, action) return match.group() + ' [%s](%s)' % (summary, LAUNCHPAD_BUG % bug) @@ -54,11 +58,13 @@ class Bug: return match.group() def close_bug(self, bug, action): - print ('Closing bug #%s'% bug) - suffix = ('The fix will be in the next release. ' - 'calibre is usually released every Friday.') + print('Closing bug #%s' % bug) + suffix = ( + 'The fix will be in the next release. ' + 'calibre is usually released every alternate Friday.' + ) action += 'ed' - msg = '%s in branch %s. %s'%(action, 'master', suffix) + msg = '%s in branch %s. %s' % (action, 'master', suffix) msg = msg.replace('Fixesed', 'Fixed') msg += '\n\n status fixreleased' @@ -66,9 +72,10 @@ class Bug: sendmail = importlib.import_module(SENDMAIL[1]) - to = bug+'@bugs.launchpad.net' + to = bug + '@bugs.launchpad.net' sendmail.sendmail(msg, to, 'Fixed in master') + def main(): with open(sys.argv[-1], 'r+b') as f: raw = f.read().decode('utf-8') @@ -79,6 +86,6 @@ def main(): f.truncate() f.write(msg.encode('utf-8')) + if __name__ == '__main__': main() -