mirror of https://github.com/zulip/zulip.git
Support -m flag to check only modified templates.
This commit is contained in:
parent
d1964a243e
commit
6154c73125
|
@ -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')]
|
||||||
assert len(templates) >= 10 # sanity check that we are actually doing work
|
if not modified_only:
|
||||||
|
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,7 +211,8 @@ def check_django_templates(templates):
|
||||||
|
|
||||||
templates = sorted(list(filter(ok, templates)))
|
templates = sorted(list(filter(ok, templates)))
|
||||||
|
|
||||||
assert len(templates) >= 10 # sanity check that we are actually doing work
|
if not modified_only:
|
||||||
|
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.
|
||||||
validate(fn, check_indent=False)
|
validate(fn, check_indent=False)
|
||||||
|
|
Loading…
Reference in New Issue