From c66930445f7d5941eb847568288046d51f853786 Mon Sep 17 00:00:00 2001 From: skullydazed Date: Mon, 17 Feb 2020 11:42:11 -0800 Subject: Use pathlib everywhere we can (#7872) * Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia * Update lib/python/qmk/path.py Co-Authored-By: Erovia * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() Co-authored-by: Erovia --- lib/python/qmk/keymap.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'lib/python/qmk/keymap.py') diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index 15a91a276..b91ba89be 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -31,11 +31,10 @@ def template(keyboard): keyboard The keyboard to return a template for. """ - template_name = 'keyboards/%s/templates/keymap.c' % keyboard + template_file = Path('keyboards/%s/templates/keymap.c' % keyboard) - if os.path.exists(template_name): - with open(template_name, 'r') as fd: - return fd.read() + if template_file.exists(): + return template_file.read_text() return DEFAULT_KEYMAP_C @@ -85,15 +84,10 @@ def write(keyboard, keymap, layout, layers): An array of arrays describing the keymap. Each item in the inner array should be a string that is a valid QMK keycode. """ keymap_c = generate(keyboard, layout, layers) - keymap_path = qmk.path.keymap(keyboard) - keymap_dir = os.path.join(keymap_path, keymap) - keymap_file = os.path.join(keymap_dir, 'keymap.c') + keymap_file = qmk.path.keymap(keyboard) / keymap / 'keymap.c' - if not os.path.exists(keymap_dir): - os.makedirs(keymap_dir) - - with open(keymap_file, 'w') as keymap_fd: - keymap_fd.write(keymap_c) + keymap_file.parent.mkdir(parents=True, exist_ok=True) + keymap_file.write_text(keymap_c) return keymap_file -- cgit v1.2.3