mirror of https://github.com/zulip/zulip.git
Django 1.10: Add tool to check urls.
Checking urls through linter was proving to be difficult as the urls can span multiple lines.
This commit is contained in:
parent
86b75aade2
commit
07d73996d4
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env python
|
||||
from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
def check_urls():
|
||||
# type: () -> bool
|
||||
url_files = ['zproject/urls.py',
|
||||
'zproject/dev_urls.py',
|
||||
'zproject/legacy_urls.py',
|
||||
'analytics/urls.py',
|
||||
'zilencer/urls.py']
|
||||
|
||||
pattern_1 = "\s+\[?url\(.+,\s*'.+'\s*,\s*.*\)"
|
||||
pattern_2 = '\s+\[?url\(.+,\s*".+"\s*,\s*.*\)'
|
||||
|
||||
for url_file in url_files:
|
||||
with open(url_file) as f:
|
||||
data = f.read()
|
||||
for pattern in (pattern_1, pattern_2):
|
||||
r = re.search(pattern, data)
|
||||
if r:
|
||||
print('View should not be a string: {}'.format(r.group()))
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
check_urls()
|
|
@ -456,6 +456,12 @@ def run():
|
|||
return func
|
||||
|
||||
with bright_red_output():
|
||||
@lint
|
||||
def check_urls():
|
||||
# type: () -> int
|
||||
result = subprocess.call(['tools/check-urls'])
|
||||
return result
|
||||
|
||||
@lint
|
||||
def templates():
|
||||
# type: () -> int
|
||||
|
|
Loading…
Reference in New Issue