Skip to content

Commit

Permalink
dist/tools/headerguards: fix flake8 issues
Browse files Browse the repository at this point in the history
  • Loading branch information
aabadie committed Dec 20, 2017
1 parent 2a0b34d commit 0ce97bb
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions dist/tools/headerguards/headerguards.py
@@ -1,39 +1,42 @@
#!/usr/bin/env python3

import os, sys
import os
import sys
import difflib
#from string import maketrans
from io import BytesIO, TextIOWrapper

_in = "/-."
_out = "___"

transtab = str.maketrans(_in, _out)


def path_to_guardname(filepath):
res = filepath.upper().translate(transtab)
if res.startswith("_"):
res = "PRIV" + res
return res


def get_guard_name(filepath):
parts = filepath.split(os.sep)
start = 0
found = False
for i, part in enumerate(parts):
if part == "include":
found = True
start = i+1
start = i + 1
break

if not found:
start = len(parts) -1
start = len(parts) - 1

return path_to_guardname(os.path.join(*parts[start:]))


def fix_headerguard(filename):
supposed = get_guard_name(filename)
with open(filename, "r",encoding='utf-8', errors='ignore') as f:
with open(filename, "r", encoding='utf-8', errors='ignore') as f:
inlines = f.readlines()

tmp = TextIOWrapper(BytesIO(), encoding="utf-8", errors="ignore")
Expand All @@ -42,7 +45,7 @@ def fix_headerguard(filename):
guard_found = 0
guard_name = ""
ifstack = 0
for n, line in enumerate(inlines):
for line in inlines:
if guard_found == 0:
if line.startswith("#ifndef"):
guard_found += 1
Expand All @@ -68,16 +71,18 @@ def fix_headerguard(filename):

tmp.seek(0)
if guard_found == 3:
for line in difflib.unified_diff(inlines, tmp.readlines(), "%s" % filename, "%s" % filename):
for line in difflib.unified_diff(inlines, tmp.readlines(),
"%s" % filename, "%s" % filename):
sys.stdout.write(line)
else:
print("%s: no / broken header guard" % filename, file=sys.stderr)
return False

if __name__=="__main__":

if __name__ == "__main__":
error = False
for filename in sys.argv[1:]:
if fix_headerguard(filename) == False:
if not fix_headerguard(filename):
error = True

if error:
Expand Down

0 comments on commit 0ce97bb

Please sign in to comment.