~ruther/qmk_firmware

fce9cb933845bf0b74d322eba02de3b76daaeb84 — Zach White 4 years ago 5f38a98
Cleanup issues identified by lgtm (#14459)

* cleanup issues identified by lgtm

* fix the git_status check
M keyboards/dekunukem/duckypad/keymaps/m4cs/sysinfo.py => keyboards/dekunukem/duckypad/keymaps/m4cs/sysinfo.py +0 -1
@@ 21,7 21,6 @@

import hid
import time
import string
import psutil
import GPUtil
import datetime

M keyboards/ergodox_ez/util/compile_keymap.py => keyboards/ergodox_ez/util/compile_keymap.py +0 -5
@@ 584,11 584,6 @@ def unicode_macro_cases(config):
    for macro_id, uc_hex in config['unicode_macros'].items():
        hi = int(uc_hex, 16) >> 8
        lo = int(uc_hex, 16) & 0xFF
        unimacro_keys = ", ".join(
            "T({})".format(
                "KP_" + digit if digit.isdigit() else digit
            ) for digit in uc_hex
        )
        yield UNICODE_MACRO_TEMPLATE.format(
            macro_id=macro_id, hi=hi, lo=lo
        )

M keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py => keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py +0 -1
@@ 227,7 227,6 @@ class KeymapBeautifier:
            self.layer_keys_pointer = 0

        begin = self.layer_keys_pointer
        end = begin + n_columns
        return self.layer_keys[self.layer_keys_pointer-n_keys:self.layer_keys_pointer]

    key_coordinates_counter = 0

M layouts/community/ergodox/algernon/tools/log-to-heatmap.py => layouts/community/ergodox/algernon/tools/log-to-heatmap.py +1 -3
@@ 8,7 8,6 @@ import time

from math import floor
from os.path import dirname
from subprocess import Popen, PIPE, STDOUT
from blessings import Terminal

class Heatmap(object):


@@ 122,7 121,6 @@ class Heatmap(object):

        for (c, r) in self.log:
            coords = self.coord(c, r)
            b, n = coords
            cap = self.max_cnt
            if cap == 0:
                cap = 1


@@ 302,7 300,7 @@ def main(opts):
                        break
                    if not process_line(line, heatmaps, opts):
                        continue
        except:
        except Exception:
            pass

        stamped_log = open ("%s/stamped-log" % (out_dir), "a+")

M layouts/community/ergodox/algernon/tools/text-to-log.py => layouts/community/ergodox/algernon/tools/text-to-log.py +0 -1
@@ 1,6 1,5 @@
#!/usr/bin/env python3

import os
import sys

charmap = {

M layouts/community/ergodox/german-manuneo/compile_keymap.py => layouts/community/ergodox/german-manuneo/compile_keymap.py +0 -5
@@ 584,11 584,6 @@ def unicode_macro_cases(config):
    for macro_id, uc_hex in config['unicode_macros'].items():
        hi = int(uc_hex, 16) >> 8
        lo = int(uc_hex, 16) & 0xFF
        unimacro_keys = ", ".join(
            "T({})".format(
                "KP_" + digit if digit.isdigit() else digit
            ) for digit in uc_hex
        )
        yield UNICODE_MACRO_TEMPLATE.format(
            macro_id=macro_id, hi=hi, lo=lo
        )

M lib/python/qmk/cli/doctor/linux.py => lib/python/qmk/cli/doctor/linux.py +3 -5
@@ 118,10 118,9 @@ def check_udev_rules():
                    cli.log.warning("{fg_yellow}Found old, deprecated udev rules for '%s' boards. The new rules on https://docs.qmk.fm/#/faq_build?id=linux-udev-rules offer better security with the same functionality.", bootloader)
                else:
                    # For caterina, check if ModemManager is running
                    if bootloader == "caterina":
                        if check_modem_manager():
                            rc = CheckStatus.WARNING
                            cli.log.warning("{fg_yellow}Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro.")
                    if bootloader == "caterina" and check_modem_manager():
                        cli.log.warning("{fg_yellow}Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro.")

                    rc = CheckStatus.WARNING
                    cli.log.warning("{fg_yellow}Missing or outdated udev rules for '%s' boards. Run 'sudo cp %s/util/udev/50-qmk.rules /etc/udev/rules.d/'.", bootloader, QMK_FIRMWARE)



@@ 167,6 166,5 @@ def os_test_linux():
        return CheckStatus.OK
    else:
        cli.log.info("Detected {fg_cyan}Linux{fg_reset}.")
        from .linux import check_udev_rules

        return check_udev_rules()

M lib/python/qmk/cli/doctor/main.py => lib/python/qmk/cli/doctor/main.py +5 -4
@@ 79,12 79,13 @@ def doctor(cli):
    cli.log.info('CLI version: %s', cli.version)
    cli.log.info('QMK home: {fg_cyan}%s', QMK_FIRMWARE)

    status = os_tests()
    status = os_status = os_tests()
    git_status = git_tests()

    status = git_tests()
    if git_status == CheckStatus.ERROR or (os_status == CheckStatus.OK and git_status == CheckStatus.WARNING):
        status = git_status

    venv = in_virtualenv()
    if venv:
    if in_virtualenv():
        cli.log.info('CLI installed in virtualenv.')

    # Make sure the basic CLI tools we need are available and can be executed.

M lib/python/qmk/cli/generate/config_h.py => lib/python/qmk/cli/generate/config_h.py +1 -1
@@ 173,7 173,7 @@ def generate_config_h(cli):
        kb_info_json = dotty(info_json(cli.args.keyboard))

    # Build the info_config.h file.
    config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.' ' */', '', '#pragma once']
    config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.', ' */', '', '#pragma once']

    generate_config_items(kb_info_json, config_h_lines)


M lib/python/qmk/cli/generate/dfu_header.py => lib/python/qmk/cli/generate/dfu_header.py +1 -1
@@ 30,7 30,7 @@ def generate_dfu_header(cli):
    # Build the Keyboard.h file.
    kb_info_json = dotty(info_json(cli.config.generate_dfu_header.keyboard))

    keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.' ' */', '', '#pragma once']
    keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.', ' */', '', '#pragma once']
    keyboard_h_lines.append(f'#define MANUFACTURER {kb_info_json["manufacturer"]}')
    keyboard_h_lines.append(f'#define PRODUCT {cli.config.generate_dfu_header.keyboard} Bootloader')


M lib/python/qmk/cli/generate/keyboard_h.py => lib/python/qmk/cli/generate/keyboard_h.py +1 -1
@@ 36,7 36,7 @@ def generate_keyboard_h(cli):
    has_layout_h = would_populate_layout_h(cli.args.keyboard)

    # Build the layouts.h file.
    keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.' ' */', '', '#pragma once', '#include "quantum.h"']
    keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.', ' */', '', '#pragma once', '#include "quantum.h"']

    if not has_layout_h:
        keyboard_h_lines.append('#pragma error("<keyboard>.h is only optional for data driven keyboards - kb.h == bad times")')

M lib/python/qmk/cli/generate/layouts.py => lib/python/qmk/cli/generate/layouts.py +1 -1
@@ 38,7 38,7 @@ def generate_layouts(cli):
    kb_info_json = info_json(cli.config.generate_layouts.keyboard)

    # Build the layouts.h file.
    layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.' ' */', '', '#pragma once']
    layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.', ' */', '', '#pragma once']

    if 'matrix_pins' in kb_info_json:
        if 'direct' in kb_info_json['matrix_pins']:

M lib/python/qmk/info.py => lib/python/qmk/info.py +4 -4
@@ 29,10 29,10 @@ def info_json(keyboard):
    """Generate the info.json data for a specific keyboard.
    """
    cur_dir = Path('keyboards')
    rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
    if 'DEFAULT_FOLDER' in rules:
        keyboard = rules['DEFAULT_FOLDER']
        rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk', rules)
    root_rules_mk = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')

    if 'DEFAULT_FOLDER' in root_rules_mk:
        keyboard = root_rules_mk['DEFAULT_FOLDER']

    info_data = {
        'keyboard_name': str(keyboard),

M lib/python/qmk/keymap.py => lib/python/qmk/keymap.py +2 -2
@@ 149,8 149,8 @@ def is_keymap_dir(keymap, c=True, json=True, additional_files=None):
    for file in files:
        if (keymap / file).is_file():
            if additional_files:
                for file in additional_files:
                    if not (keymap / file).is_file():
                for additional_file in additional_files:
                    if not (keymap / additional_file).is_file():
                        return False

            return True

M users/dennytom/chording_engine/chord.py => users/dennytom/chording_engine/chord.py +1 -2
@@ 1,5 1,4 @@
from functools import reduce
import re

strings = []
number_of_strings = -1


@@ 463,4 462,4 @@ def secret_chord(PSEUDOLAYER, ACTION, INPUT_STRING, data, output_buffer, index, 
    
    hash = hash[3:]
    if hash != "":
        return add_key(PSEUDOLAYER, hash, ACTION, output_buffer, index, number_of_strings, strings)
\ No newline at end of file
        return add_key(PSEUDOLAYER, hash, ACTION, output_buffer, index, number_of_strings, strings)

M util/stm32eeprom_parser.py => util/stm32eeprom_parser.py +0 -1
@@ 197,7 197,6 @@ def dumpBinary(data, canonical):
        print("")

    size = len(data)
    empty_rows = 0
    prev_row = ''
    first_repeat = True
    for pos in range(0, size, 16):

M util/uf2conv.py => util/uf2conv.py +4 -4
@@ 78,7 78,7 @@ def convert_from_uf2(buf):
        if datalen > 476:
            assert False, "Invalid UF2 data size at " + ptr
        newaddr = hd[3]
        if curraddr == None:
        if curraddr is None:
            appstartaddr = newaddr
            curraddr = newaddr
        padding = newaddr - curraddr


@@ 171,7 171,7 @@ def convert_from_hex_to_uf2(buf):
            break
        elif tp == 0:
            addr = upper | (rec[1] << 8) | rec[2]
            if appstartaddr == None:
            if appstartaddr is None:
                appstartaddr = addr
            i = 4
            while i < len(rec) - 1:


@@ 215,7 215,7 @@ def get_drives():
    def has_info(d):
        try:
            return os.path.isfile(d + INFO_FILE)
        except:
        except Exception:
            return False

    return list(filter(has_info, drives))


@@ 300,7 300,7 @@ def main():
              (ext, len(outbuf), appstartaddr))
        if args.convert or ext != "uf2":
            drives = []
            if args.output == None:
            if args.output is None:
                args.output = "flash." + ext
        else:
            drives = get_drives()