diff --git a/setup/git_post_checkout_hook.py b/setup/git_post_checkout_hook.py index 06eeefbd56..7dc20282b9 100755 --- a/setup/git_post_checkout_hook.py +++ b/setup/git_post_checkout_hook.py @@ -33,7 +33,7 @@ if flags == '1': # A branch checkout shutil.rmtree(extdir) subprocess.check_call(['python', 'setup.py', 'build', '--only', ext]) - subprocess.check_call(['python', 'setup.py', 'gui']) + subprocess.check_call(['python', 'setup.py', 'gui', '--summary']) # Remove .pyc files as some of them might have been orphaned for dirpath, dirnames, filenames in os.walk('.'): diff --git a/setup/gui.py b/setup/gui.py index 912760ddf8..ba63aad143 100644 --- a/setup/gui.py +++ b/setup/gui.py @@ -15,6 +15,10 @@ class GUI(Command): PATH = os.path.join(Command.SRC, __appname__, 'gui2') QRC = os.path.join(Command.RESOURCES, 'images.qrc') + def add_options(self, parser): + parser.add_option('--summary', default=False, action='store_true', + help='Only display a summary about how many files were compiled') + @classmethod def find_forms(cls): # We do not use the calibre function find_forms as @@ -34,7 +38,7 @@ class GUI(Command): return form.rpartition('.')[0]+'_ui.py' def run(self, opts): - self.build_forms() + self.build_forms(summary=opts.summary) self.build_images() def build_images(self): @@ -55,10 +59,9 @@ class GUI(Command): finally: os.chdir(cwd) - - def build_forms(self): + def build_forms(self, summary=False): from calibre.gui2 import build_forms - build_forms(self.SRC, info=self.info) + build_forms(self.SRC, info=self.info, summary=summary) def clean(self): forms = self.find_forms() diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index ba4c4b5d09..e41968581e 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -1119,7 +1119,7 @@ def find_forms(srcdir): def form_to_compiled_form(form): return form.rpartition('.')[0]+'_ui.py' -def build_forms(srcdir, info=None): +def build_forms(srcdir, info=None, summary=False): import re, cStringIO from PyQt4.uic import compileUi forms = find_forms(srcdir) @@ -1131,10 +1131,12 @@ def build_forms(srcdir, info=None): ans = 'I(%s%s%s)'%(match.group(1), match.group(2), match.group(1)) return ans + num = 0 for form in forms: compiled_form = form_to_compiled_form(form) if not os.path.exists(compiled_form) or os.stat(form).st_mtime > os.stat(compiled_form).st_mtime: - info('\tCompiling form', form) + if not summary: + info('\tCompiling form', form) buf = cStringIO.StringIO() compileUi(form, buf) dat = buf.getvalue() @@ -1149,6 +1151,9 @@ def build_forms(srcdir, info=None): 'from PyQt4 import QtWebKit\nfrom PyQt4.QtWebKit import QWebView') open(compiled_form, 'wb').write(dat) + num += 1 + if num: + info('Compiled %d forms' % num) _df = os.environ.get('CALIBRE_DEVELOP_FROM', None) if _df and os.path.exists(_df):