Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix various lint errors #17255

Merged
merged 2 commits into from
May 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion keyboards/axolstudio/yeti/hotswap/hotswap.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ led_config_t g_led_config = {
}, {
{0, 0},{16, 0},{32, 0},{48, 0},{64, 0},{80, 0},{96, 0},{112, 0},{128, 0},{144, 0},{160, 0},{176, 0},{192, 0},{208, 0},{224, 0},
{0, 16},{16,16},{32,16},{48,16},{64,16},{80,16},{96,16},{112,16},{128,16},{144,16},{160,16},{176,16},{192,16},{208,16},{224,16},
{0,32},{16,32},{32,32},{48,32},{64,32},{80,32},{96,32},{112,32},{128,32},{144,32},{160,32},{176,32},{192,32},{224},
{0,32},{16,32},{32,32},{48,32},{64,32},{80,32},{96,32},{112,32},{128,32},{144,32},{160,32},{176,32},{192,32},{224, 32},
{16,48},{32,48},{48,48},{64,48},{80,48},{96,48},{112,48},{128,48},{144,48},{160,48},{176,48},{192,48},{224,48},
{16,64},{48,64},{80,64},{96,64},{128,64},{160,64},{224,64}
}, {
Expand Down
2 changes: 1 addition & 1 deletion keyboards/phase_studio/titan65/hotswap/hotswap.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
led_config_t g_led_config = {
{
{ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, NO_LED, 65, 66 },
{ 51, NO_LED, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, .38, 37 },
{ 51, NO_LED, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37 },
{ 23, NO_LED, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, NO_LED, 36 },
{ NO_LED, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, NO_LED, 11, 10, 9 },
{ 0, 1, NO_LED, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, 4, 5, NO_LED, 6, 7, 8 }
Expand Down
3 changes: 1 addition & 2 deletions keyboards/signum/3_0/3_0.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#include "quantum.h"

// clang-format off
# define LAYOUT( \
# define LAYOUT_ortho_4x12( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
Expand All @@ -30,4 +30,3 @@
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 } \
}
// clang-format on
#define LAYOUT_ortho_4x12 LAYOUT
3 changes: 3 additions & 0 deletions keyboards/signum/3_0/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"keyboard_name": "Signum 3.0",
"url": "http://troyfletcher.net/",
"maintainer": "jceb",
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_4x12"
},
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
Expand Down
43 changes: 27 additions & 16 deletions lib/python/qmk/c_parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@ def _get_chunks(it, size):
return iter(lambda: tuple(islice(it, size)), ())


def _preprocess_c_file(file):
"""Load file and strip comments
"""
file_contents = file.read_text(encoding='utf-8')
file_contents = comment_remover(file_contents)
return file_contents.replace('\\\n', '')


def strip_line_comment(string):
"""Removes comments from a single line string.
"""
Expand Down Expand Up @@ -58,9 +66,7 @@ def find_layouts(file):
parsed_layouts = {}

# Search the file for LAYOUT macros and aliases
file_contents = file.read_text(encoding='utf-8')
file_contents = comment_remover(file_contents)
file_contents = file_contents.replace('\\\n', '')
file_contents = _preprocess_c_file(file)

for line in file_contents.split('\n'):
if layout_macro_define_regex.match(line.lstrip()) and '(' in line and 'LAYOUT' in line:
Expand Down Expand Up @@ -205,21 +211,31 @@ def _coerce_led_token(_type, value):
return value_map[value]


def _validate_led_config(matrix, matrix_rows, matrix_indexes, position, position_raw, flags):
# TODO: Improve crude parsing/validation
if len(matrix) != matrix_rows and len(matrix) != (matrix_rows / 2):
raise ValueError("Unable to parse g_led_config matrix data")
if len(position) != len(flags):
raise ValueError("Unable to parse g_led_config position data")
if len(matrix_indexes) and (max(matrix_indexes) >= len(flags)):
raise ValueError("OOB within g_led_config matrix data")
if not all(isinstance(n, int) for n in matrix_indexes):
raise ValueError("matrix indexes are not all ints")
if (len(position_raw) % 2) != 0:
raise ValueError("Malformed g_led_config position data")


def _parse_led_config(file, matrix_cols, matrix_rows):
"""Return any 'raw' led/rgb matrix config
"""
file_contents = file.read_text(encoding='utf-8')
file_contents = comment_remover(file_contents)
file_contents = file_contents.replace('\\\n', '')

matrix_raw = []
position_raw = []
flags = []

found_led_config = False
bracket_count = 0
section = 0
for _type, value in lex(file_contents, CLexer()):
for _type, value in lex(_preprocess_c_file(file), CLexer()):
# Assume g_led_config..stuff..;
if value == 'g_led_config':
found_led_config = True
Expand Down Expand Up @@ -248,17 +264,12 @@ def _parse_led_config(file, matrix_cols, matrix_rows):
position = list(_get_chunks(position_raw, 2))
matrix_indexes = list(filter(lambda x: x is not None, matrix_raw))

# If we have not found anything - bail
# If we have not found anything - bail with no error
if not section:
return None

# TODO: Improve crude parsing/validation
if len(matrix) != matrix_rows and len(matrix) != (matrix_rows / 2):
raise ValueError("Unable to parse g_led_config matrix data")
if len(position) != len(flags):
raise ValueError("Unable to parse g_led_config position data")
if len(matrix_indexes) and (max(matrix_indexes) >= len(flags)):
raise ValueError("OOB within g_led_config matrix data")
# Throw any validation errors
_validate_led_config(matrix, matrix_rows, matrix_indexes, position, position_raw, flags)

return (matrix, position, flags)

Expand Down