mirror of https://github.com/axmolengine/axmol.git
Merge pull request #15344 from xpol/withespaces-does-matter
Withespaces does matter
This commit is contained in:
commit
b0b2d8a5e8
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/env python
|
||||
#coding=utf-8
|
||||
|
||||
'''
|
||||
Remove tailing whitespaces and ensures one and only one empty ending line.
|
||||
'''
|
||||
|
||||
import os, re
|
||||
|
||||
def scan(*dirs, **kwargs):
|
||||
files = []
|
||||
extensions = kwargs['extensions'] if kwargs.has_key('extensions') else None
|
||||
excludes = kwargs['excludes'] if kwargs.has_key('excludes') else []
|
||||
for top in dirs:
|
||||
for root, dirnames, filenames in os.walk(top):
|
||||
dirnames = [i for i in dirnames if i in excludes]
|
||||
for f in filenames:
|
||||
if f in excludes:
|
||||
continue
|
||||
ext = os.path.splitext(f)[1].lower()
|
||||
if extensions is None or ext in extensions:
|
||||
files.append(os.path.join(root, f))
|
||||
return files
|
||||
|
||||
def fixone(src):
|
||||
lines = open(src, 'r').readlines()
|
||||
|
||||
trimed = []
|
||||
for line in lines:
|
||||
trimed.append(re.sub('\s+$', '', line))
|
||||
|
||||
while len(trimed) > 1 and not trimed[-1]:
|
||||
trimed.pop()
|
||||
trimed.append('')
|
||||
|
||||
with open(src, 'w') as f:
|
||||
for line in trimed:
|
||||
f.write('%s\n' % line)
|
||||
|
||||
|
||||
def lint(root):
|
||||
print('Checking tailing whitespaces in: %s' % root)
|
||||
dirs = [
|
||||
os.path.join(root, 'cocos'),
|
||||
os.path.join(root, 'extensions'),
|
||||
os.path.join(root, 'templates'),
|
||||
os.path.join(root, 'tests'),
|
||||
os.path.join(root, 'tools', 'simulator')
|
||||
]
|
||||
|
||||
files = scan(*dirs, extensions=['.c', '.cpp', '.h', '.hpp', '.m', '.mm', '.java'])
|
||||
for f in files:
|
||||
print(f)
|
||||
fixone(f)
|
||||
|
||||
|
||||
def main():
|
||||
default_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
lint(default_root)
|
||||
|
||||
main()
|
Loading…
Reference in New Issue