##// END OF EJS Templates
Actually warn that some function will be removed....
Actually warn that some function will be removed. these function are unused by IPython, and are now in genutils. I think we could still get a Major cycle before removing them.

File last commit:

r20277:6ceb4492
r21788:dc0326bd
Show More
check_sources.py
55 lines | 1.4 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
"""Utility to look for hard tabs and \r characters in all sources.
Usage:
./check_sources.py
It prints summaries and if chosen, line-by-line info of where \\t or \\r
characters can be found in our source tree.
"""
from __future__ import print_function
# Config
# If true, all lines that have tabs are printed, with line number
full_report_tabs = True
# If true, all lines that have tabs are printed, with line number
full_report_rets = False
# Code begins
from IPython.external.path import path
rets = []
tabs = []
for f in path('..').walkfiles('*.py'):
errs = ''
cont = f.bytes()
if '\t' in cont:
errs+='t'
tabs.append(f)
if '\r' in cont:
errs+='r'
rets.append(f)
if errs:
print("%3s" % errs, f)
if 't' in errs and full_report_tabs:
for ln,line in enumerate(f.lines()):
if '\t' in line:
print('TAB:',ln,':',line, end=' ')
if 'r' in errs and full_report_rets:
for ln,line in enumerate(open(f.abspath(),'rb')):
if '\r' in line:
print('RET:',ln,':',line, end=' ')
# Summary at the end, to call cleanup tools if necessary
if tabs:
print('Hard tabs found. These can be cleaned with untabify:')
for f in tabs: print(f, end=' ')
if rets:
print('Carriage returns (\\r) found in:')
for f in rets: print(f, end=' ')