45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
|
import os
|
||
|
import glob
|
||
|
|
||
|
def checkContent(lst,oper):
|
||
|
if len(lst) < len(oper):
|
||
|
return False
|
||
|
for i,k in enumerate(oper):
|
||
|
if lst[i].strip() != k:
|
||
|
return False
|
||
|
return True
|
||
|
|
||
|
def replacePragmaOnce(name):
|
||
|
hitContents=False
|
||
|
with open(name,"r") as file:
|
||
|
temp = open(name+".temp","w")
|
||
|
nameheader = os.path.splitext(os.path.split(name)[-1])[0]
|
||
|
for line in file:
|
||
|
words = line.split()
|
||
|
if hitContents:
|
||
|
pass
|
||
|
elif checkContent(words,["#pragma","once"]):
|
||
|
continue
|
||
|
elif line.startswith("#ifndef"):
|
||
|
temp.close()
|
||
|
os.remove(name+".temp")
|
||
|
return None
|
||
|
elif line.startswith("#include"):
|
||
|
pass
|
||
|
elif len(words)==0:
|
||
|
pass
|
||
|
elif line.strip() == "":
|
||
|
pass
|
||
|
else:
|
||
|
temp.write("#ifndef LS_{}_H_\n".format(nameheader))
|
||
|
temp.write("#define LS_{}_H_\n".format(nameheader))
|
||
|
hitContents=True
|
||
|
temp.writelines(line)
|
||
|
temp.write("\n#endif")
|
||
|
temp.close()
|
||
|
os.remove(name)
|
||
|
os.rename(name+".temp",name)
|
||
|
|
||
|
for pth in glob.iglob('LightScript\\*.h'):
|
||
|
replacePragmaOnce(pth)
|