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
|
return func
|
||||||
|
|
||||||
with bright_red_output():
|
with bright_red_output():
|
||||||
|
@lint
|
||||||
|
def check_urls():
|
||||||
|
# type: () -> int
|
||||||
|
result = subprocess.call(['tools/check-urls'])
|
||||||
|
return result
|
||||||
|
|
||||||
@lint
|
@lint
|
||||||
def templates():
|
def templates():
|
||||||
# type: () -> int
|
# type: () -> int
|
||||||
|
|
Loading…
Reference in New Issue