diff options
author | Zach White <skullydazed@gmail.com> | 2021-02-27 12:00:50 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-27 12:00:50 -0800 |
commit | 1581ea48dcd48d0d3f42cc09b388c468aedec45d (patch) | |
tree | 2d028036a4bf80c2e47b952931544f95ba2174e9 /lib/python/qmk/c_parse.py | |
parent | 23ed6c4ec0bfb27612da8a7b78d1b484acc23f3f (diff) | |
download | qmk_firmware-1581ea48dcd48d0d3f42cc09b388c468aedec45d.tar.gz qmk_firmware-1581ea48dcd48d0d3f42cc09b388c468aedec45d.zip |
Fix develop (#12039)
Fixes file encoding errors on Windows, and layouts not correctly merging into info.json.
* force utf8 encoding
* correctly merge layouts and layout aliases
* show what aliases point to
Diffstat (limited to 'lib/python/qmk/c_parse.py')
-rw-r--r-- | lib/python/qmk/c_parse.py | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/python/qmk/c_parse.py b/lib/python/qmk/c_parse.py index 89dd278b7..d4f39c883 100644 --- a/lib/python/qmk/c_parse.py +++ b/lib/python/qmk/c_parse.py | |||
@@ -46,7 +46,7 @@ def find_layouts(file): | |||
46 | parsed_layouts = {} | 46 | parsed_layouts = {} |
47 | 47 | ||
48 | # Search the file for LAYOUT macros and aliases | 48 | # Search the file for LAYOUT macros and aliases |
49 | file_contents = file.read_text() | 49 | file_contents = file.read_text(encoding='utf-8') |
50 | file_contents = comment_remover(file_contents) | 50 | file_contents = comment_remover(file_contents) |
51 | file_contents = file_contents.replace('\\\n', '') | 51 | file_contents = file_contents.replace('\\\n', '') |
52 | 52 | ||
@@ -87,12 +87,7 @@ def find_layouts(file): | |||
87 | except ValueError: | 87 | except ValueError: |
88 | continue | 88 | continue |
89 | 89 | ||
90 | # Populate our aliases | 90 | return parsed_layouts, aliases |
91 | for alias, text in aliases.items(): | ||
92 | if text in parsed_layouts and 'KEYMAP' not in alias: | ||
93 | parsed_layouts[alias] = parsed_layouts[text] | ||
94 | |||
95 | return parsed_layouts | ||
96 | 91 | ||
97 | 92 | ||
98 | def parse_config_h_file(config_h_file, config_h=None): | 93 | def parse_config_h_file(config_h_file, config_h=None): |
@@ -104,7 +99,7 @@ def parse_config_h_file(config_h_file, config_h=None): | |||
104 | config_h_file = Path(config_h_file) | 99 | config_h_file = Path(config_h_file) |
105 | 100 | ||
106 | if config_h_file.exists(): | 101 | if config_h_file.exists(): |
107 | config_h_text = config_h_file.read_text() | 102 | config_h_text = config_h_file.read_text(encoding='utf-8') |
108 | config_h_text = config_h_text.replace('\\\n', '') | 103 | config_h_text = config_h_text.replace('\\\n', '') |
109 | config_h_text = strip_multiline_comment(config_h_text) | 104 | config_h_text = strip_multiline_comment(config_h_text) |
110 | 105 | ||