Support -m flag to check only modified templates.

This commit is contained in:
Steve Howell 2016-07-08 20:40:24 +00:00 committed by Tim Abbott
parent d1964a243e
commit 6154c73125
1 changed files with 16 additions and 6 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import print_function from __future__ import print_function
import optparse
import os import os
import sys import sys
import subprocess import subprocess
@ -179,21 +180,29 @@ def get_html_tag(text, i):
return s return s
def check_our_files(): def check_our_files():
parser = optparse.OptionParser()
parser.add_option('--modified', '-m',
action='store_true',
help='Only check modified files')
(options, _) = parser.parse_args()
by_lang = lister.list_files( by_lang = lister.list_files(
modified_only = options.modified,
ftypes=['handlebars', 'html'], ftypes=['handlebars', 'html'],
group_by_ftype=True) group_by_ftype=True)
check_handlebar_templates(by_lang['handlebars']) check_handlebar_templates(by_lang['handlebars'], options.modified)
check_django_templates(by_lang['html']) check_django_templates(by_lang['html'], options.modified)
def check_handlebar_templates(templates): def check_handlebar_templates(templates, modified_only):
# Check all our handlebars templates. # Check all our handlebars templates.
templates = [fn for fn in templates if fn.endswith('.handlebars')] templates = [fn for fn in templates if fn.endswith('.handlebars')]
if not modified_only:
assert len(templates) >= 10 # sanity check that we are actually doing work assert len(templates) >= 10 # sanity check that we are actually doing work
for fn in templates: for fn in templates:
validate(fn, check_indent=True) validate(fn, check_indent=True)
def check_django_templates(templates): def check_django_templates(templates, modified_only):
def ok(fn): def ok(fn):
if 'templates' not in fn: return False if 'templates' not in fn: return False
if 'api.html' in fn: return False if 'api.html' in fn: return False
@ -202,6 +211,7 @@ def check_django_templates(templates):
templates = sorted(list(filter(ok, templates))) templates = sorted(list(filter(ok, templates)))
if not modified_only:
assert len(templates) >= 10 # sanity check that we are actually doing work assert len(templates) >= 10 # sanity check that we are actually doing work
for fn in templates: for fn in templates:
# Many of our Django templates have broken indentation. # Many of our Django templates have broken indentation.