lint: flake8 pylint
flake8:
- flake8 annotations .
+ flake8 sanitize-annotations annotations .
pylint:
- pylint annotations kconfig
+ pylint sanitize-annotations annotations kconfig
entry['note'] = "'" + m.group(1).replace("'", '') + "'"
if not match:
- raise Exception('syntax error')
+ raise SyntaxError('syntax error')
self.config[conf] = entry
except Exception as e:
- raise Exception(str(e) + f', line = {line}') from e
+ raise SyntaxError(str(e) + f', line = {line}') from e
continue
# Invalid line
- raise Exception(f'invalid line: {line}')
+ raise SyntaxError(f'invalid line: {line}')
def _parse(self, data: str):
"""
# Sanity check: Verify that all FLAVOUR_DEP flavors are valid
for src, tgt in self.flavour_dep.items():
if src not in self.flavour:
- raise Exception(f'Invalid source flavour in FLAVOUR_DEP: {src}')
+ raise SyntaxError(f'Invalid source flavour in FLAVOUR_DEP: {src}')
if tgt not in self.include_flavour:
- raise Exception(f'Invalid target flavour in FLAVOUR_DEP: {tgt}')
+ raise SyntaxError(f'Invalid target flavour in FLAVOUR_DEP: {tgt}')
def _remove_entry(self, config: str):
if self.config[config]:
old_val = tmp_a.config.get(conf)
if old_val and 'policy' in old_val:
if old_val['policy'] == old_val['policy'] | new_val['policy']:
- if not 'note' in new_val:
+ if 'note' not in new_val:
continue
if 'note' in old_val and 'note' in new_val:
if old_val['note'] == new_val['note']:
--- /dev/null
+#!/usr/bin/env python3
+#
+# Try to automatically sanitize an old "annotations" file, dropping all the
+# deprecated flags, arbitrary enforcements rules, etc.
+#
+# Usage:
+# $ ./sanitize-annotations debian.master/config/annotations
+
+import sys
+import re
+
+
+def remove_flags_and_drop_lines(file_path):
+ # Read the contents of the file
+ with open(file_path, "r", encoding="utf-8") as file:
+ content = file.read()
+
+ # Check if the file has the required headers
+ lines = content.splitlines()
+ if (
+ len(lines) < 2
+ or lines[0].strip() != "# Menu: HEADER"
+ or lines[1].strip() != "# FORMAT: 4"
+ ):
+ print(f"ERROR: {file_path} doesn't have a valid header")
+ print("Fix the headers as explained here: " +
+ "https://docs.google.com/document/d/1NnGC2aknyy2TJWMsoYzhrZMr9rYMA09JQBEvC-LW_Lw/")
+ sys.exit(1)
+
+ # Remove unsupported annotations
+ updated_content = re.sub(r"(flag|mark)<.*?>", "", content)
+
+ # Drop lines with a single word and trailing spaces
+ updated_content = re.sub(r"^\w+\s*$", "", updated_content, flags=re.MULTILINE)
+
+ # Add a space after all caps followed by 'policy'
+ updated_content = re.sub(r"([A-Z]+)(policy)", r"\1 \2", updated_content)
+
+ # Add 'note' if missing
+ updated_content = re.sub(r"(\s+)(<.*?>)", r"\1note\2", updated_content)
+
+ # Write the updated contents back to the file
+ with open(file_path, "w", encoding="utf-8") as file:
+ file.write(updated_content)
+
+
+if __name__ == "__main__":
+ file_path = sys.argv[1]
+ remove_flags_and_drop_lines(file_path)
+++ /dev/null
-#!/usr/bin/env python3
-#
-# Try to automatically sanitize an old "annotations" file, dropping all the
-# deprecated flags, arbitrary enforcements rules, etc.
-#
-# Usage:
-# $ ./sanitize-annotations debian.master/config/annotations
-
-import sys
-import re
-
-def remove_flags_and_drop_lines(file_path):
- # Read the contents of the file
- with open(file_path, 'r') as file:
- content = file.read()
-
- # Check if the file has the required headers
- lines = content.splitlines()
- if len(lines) < 2 or lines[0].strip() != '# Menu: HEADER' or lines[1].strip() != '# FORMAT: 4':
- print(f"ERROR: {file_path} doesn't have a valid header")
- print("Fix the headers as explained here: https://docs.google.com/document/d/1NnGC2aknyy2TJWMsoYzhrZMr9rYMA09JQBEvC-LW_Lw/edit#heading=h.ug9cinnvjg89")
- sys.exit(1)
-
- # Remove unsupported annotations
- updated_content = re.sub(r'(flag|mark)<.*?>', '', content)
-
- # Drop lines with a single word and trailing spaces
- updated_content = re.sub(r'^\w+\s*$', '', updated_content, flags=re.MULTILINE)
-
- # Add a space after all caps followed by 'policy'
- updated_content = re.sub(r'([A-Z]+)(policy)', r'\1 \2', updated_content)
-
- # Add 'note' if missing
- updated_content = re.sub(r'(\s+)(<.*?>)', r'\1note\2', updated_content)
-
- # Write the updated contents back to the file
- with open(file_path, 'w') as file:
- file.write(updated_content)
-
-if __name__ == '__main__':
- file_path = sys.argv[1]
- remove_flags_and_drop_lines(file_path)