|
@@ -34,22 +34,46 @@ class CheckOut:
|
|
|
self.rtt_branch = rtt_branch
|
|
|
|
|
|
def __exclude_file(self, file_path):
|
|
|
- ignore_file_path = os.path.join(self.root, 'ignore_format.yml')
|
|
|
- try:
|
|
|
- with open(ignore_file_path) as f:
|
|
|
- ignore_config = yaml.safe_load(f.read())
|
|
|
- file_ignore = ignore_config.get("file_path", [])
|
|
|
- dir_ignore = ignore_config.get("dir_path", [])
|
|
|
- except Exception as e:
|
|
|
- logging.error(e)
|
|
|
- return 1
|
|
|
-
|
|
|
- if file_path in file_ignore:
|
|
|
- return 0
|
|
|
-
|
|
|
- file_dir_path = os.path.dirname(file_path)
|
|
|
- if file_dir_path in dir_ignore:
|
|
|
- return 0
|
|
|
+ dir_number = file_path.split('/')
|
|
|
+ ignore_path = file_path
|
|
|
+
|
|
|
+ # gets the file path depth.
|
|
|
+ for i in dir_number:
|
|
|
+ # current directory.
|
|
|
+ dir_name = os.path.dirname(ignore_path)
|
|
|
+ ignore_path = dir_name
|
|
|
+ # judge the ignore file exists in the current directory.
|
|
|
+ ignore_file_path = os.path.join(dir_name, ".ignore_format.yml")
|
|
|
+ if not os.path.exists(ignore_file_path):
|
|
|
+ continue
|
|
|
+ try:
|
|
|
+ with open(ignore_file_path) as f:
|
|
|
+ ignore_config = yaml.safe_load(f.read())
|
|
|
+ file_ignore = ignore_config.get("file_path", [])
|
|
|
+ dir_ignore = ignore_config.get("dir_path", [])
|
|
|
+ except Exception as e:
|
|
|
+ logging.error(e)
|
|
|
+ continue
|
|
|
+
|
|
|
+ try:
|
|
|
+ # judge file_path in the ignore file.
|
|
|
+ for file in file_ignore:
|
|
|
+ if file is not None:
|
|
|
+ file_real_path = os.path.join(dir_name, file)
|
|
|
+ if file_real_path == file_path:
|
|
|
+ logging.info("ignore file path: {}".format(file_real_path))
|
|
|
+ return 0
|
|
|
+
|
|
|
+ file_dir_path = os.path.dirname(file_path)
|
|
|
+ for _dir in dir_ignore:
|
|
|
+ if _dir is not None:
|
|
|
+ dir_real_path = os.path.join(dir_name, _dir)
|
|
|
+ if dir_real_path == file_dir_path:
|
|
|
+ logging.info("ignore dir path: {}".format(dir_real_path))
|
|
|
+ return 0
|
|
|
+ except Exception as e:
|
|
|
+ logging.error(e)
|
|
|
+ continue
|
|
|
|
|
|
return 1
|
|
|
|
|
@@ -93,7 +117,7 @@ class FormatCheck:
|
|
|
def __init__(self, file_list):
|
|
|
self.file_list = file_list
|
|
|
|
|
|
- def __check_file(self, file_lines):
|
|
|
+ def __check_file(self, file_lines, file_path):
|
|
|
line_num = 1
|
|
|
check_result = False
|
|
|
for line in file_lines:
|
|
@@ -101,12 +125,12 @@ class FormatCheck:
|
|
|
line_start = line.replace(' ', '')
|
|
|
# find tab
|
|
|
if line_start.startswith('\t'):
|
|
|
- logging.error("line[{}]: please use space replace tab at the start of this line.".format(line_num))
|
|
|
+ logging.error("{} line[{}]: please use space replace tab at the start of this line.".format(file_path, line_num))
|
|
|
check_result = False
|
|
|
# check line end
|
|
|
lin_end = line.split('\n')[0]
|
|
|
if lin_end.endswith(' ') or lin_end.endswith('\t'):
|
|
|
- logging.error("line[{}]: please delete extra space at the end of this line.".format(line_num))
|
|
|
+ logging.error("{} line[{}]: please delete extra space at the end of this line.".format(file_path, line_num))
|
|
|
check_result = False
|
|
|
line_num += 1
|
|
|
|
|
@@ -140,7 +164,7 @@ class FormatCheck:
|
|
|
|
|
|
with open(file_path, 'r') as f:
|
|
|
file_lines = f.readlines()
|
|
|
- format_check_result = self.__check_file(file_lines)
|
|
|
+ format_check_result = self.__check_file(file_lines, file_path)
|
|
|
|
|
|
if not encoding_check_result or not format_check_result:
|
|
|
logging.error("files format check fail.")
|