import os
import chardet
import codecs
log = r’ALOGD(“from zpy:\nfilepath: %s; filename: %s; linenumber: %s\n”);’
def add_log(path, filename):
if os.path.splitext(filename)[-1][1:] != ‘cpp’:
return
try:
enc = chardet.detect(codecs.open(os.path.join(path, filename), ‘rb’).read())[‘encoding’]
f = open(os.path.join(path, filename), ‘r+’, encoding=enc)
with open(os.path.join(path, filename), ‘r+’, encoding=’utf-8’) as f:
lines = f.readlines()
count = 0
f.seek(0, 0)
for line in lines:
f.write(line)
count += 1
if '{' in line:
spacenum = max([i for i in range(len(line)) if line[: i] == ' ' * i])
f.write(’ ’ * (spacenum + 4) + log % (path, filename, count) + ‘\n’)
count += 1
except UnicodeDecodeError:
print(path,filename)
finally:
f.close()
def find_file(path):
files = os.listdir(path)
for file in files:
if os.path.isdir(os.path.join(path, file)):
find_file(os.path.join(path, file))
else:
add_log(path, file)
if name == ‘main‘:
path = ”
find_file(path)