aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python/qmk
AgeCommit message (Collapse)Author
2020-04-13CLI: Use `shutil.which` to detect gmake, instead of OS check.Gravatar Pete Johanson
2020-04-13CLI: Invoke gmake on FreeBSD when using `qmk compile`.Gravatar Pete Johanson
* Current makefiles aren't portable, so invoke gmake on FreeBSD.
2020-04-08Don't hide for devs...Gravatar Erovia
2020-04-08Rebase on master, hide some other subcommandsGravatar Erovia
The list of hidden subcommands were approved by @skullydazed ;) Currently hidden if 'user.developer' is not True: - cformat - docs - kle2json - pyformat - pytest
2020-04-08CLI: Add development mode supportGravatar Erovia
Hide development specific options and don't require dev modules unless `user.developer` is set to `True`.
2020-04-07Correctly handle json keymaps with ANY()Gravatar skullY
2020-04-05Doctor: Add avrdude/dfu-util/dfu-programmer version printing (#8678)Gravatar Ryan
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing * Extra newline * Iterate through version checking functions
2020-04-04minor tweaksGravatar skullY
2020-04-04Fix saving output from avrdude and dfu-programmerGravatar Ross Baquir
2020-04-04Use version_arg in ESSENTIAL_BINARIES dictGravatar Ross Baquir
2020-04-04Fixes #8541 by getting version from -dumpversion then --version as fallbackGravatar Ross Baquir
2020-03-29CLI: More MSYS2 fixes (#8577)Gravatar Erovia
* CLI: More MSYS2 fixes Now I can fully setup and work with qmk_firmware on an MSYS2 installation without any errors or exceptions. * Apply suggestions from code review Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Some improvements * Remove unnecessary import * Remove slow, unused code Getting the version from GIT was slow on both Windows and Docker. Until we find a better, faster way, this is removed. * remove unused imports * Implement @vomindoraan's suggestions * refine how we pick the shell to use * Apply @fauxpark's suggestions fauxpark investigated the topic of shells in MSYS2 a bit and we come to the conclusion that the safest bet was to just use the user's shell. Anything more just opens up more edge-cases than it solves. Co-Authored-By: Ryan <fauxpark@gmail.com> * Use `platform_id` in doctor This will bring it in line with the new code. Co-authored-by: skullydazed <skullydazed@users.noreply.github.com> Co-authored-by: skullY <skullydazed@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-18CLI: Hide json-keymap subcommand, as it's been deprecated.Gravatar Erovia
2020-03-13Add decorators for determining keyboard and keymap based on current ↵Gravatar skullydazed
directory (#8191) * Use pathlib everywhere we can * 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() * add experimental decorators * Create decorators for finding keyboard and keymap based on current directory. Decorators were inspired by @Erovia's brilliant work on the proof of concept.
2020-03-12use qmk.path.normpath to locate the output file.Gravatar skullY
2020-03-10Rename qmk json-keymap to qmk json2c (#8372)Gravatar skullydazed
2020-03-08Add gcc version detection to qmk doctor (#8338)Gravatar skullydazed
2020-02-26Fixed OS detection such that OSX doesn't take over the world (#8248)Gravatar Mikkel Jeppesen
2020-02-22New functionality for cformat (#7893)Gravatar Akaash Suresh
Fixing complexity remove lambda PR review fixes #1 Removing unneccesary string substitution Handle -a and specified files Complexity rewrite, use pathlib
2020-02-17Use pathlib everywhere we can (#7872)Gravatar skullydazed
* Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * 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 <Erovia@users.noreply.github.com>
2020-02-17Fix os detection in OSX python 3.8 (#8187)Gravatar Mikkel Jeppesen
* Fix os detection in osx python 3.8 * oops
2020-02-15fix list_keymaps for python 3.5Gravatar skullY
2020-02-15Pathlib-ify qmk.keymap.list_keymaps()Gravatar Erovia
2020-02-15Code cleanup, use pathlib, use pytest keyboardGravatar Erovia
Clean up checks and logics that are unnecessary due to MILC updates. Use pathlib instead of os.path for readability. Use the 'pytest' keyboard for the tests. Add community layout for 'handwired/onekey/pytest' so we can test community layouts.
2020-02-15Fix commandline parsing and flake8 findings, rebaseGravatar Erovia
Fixed commandline and config parsing. Thx @xplusplus. Rebased on master and fixed merge conflicts.
2020-02-15Major rework, no regex/globbing, more walkingGravatar Erovia
Instead of using regexes and globbing to find the rules.mk and keymap.c files, walk the directory tree to find them. Also, do away with the concept of revision.
2020-02-15Fix merging community and base keymapsGravatar Erovia
2020-02-15Return only the unique keymapsGravatar Erovia
2020-02-15Drop bs4 dependency, update docs, minor improvementsGravatar Erovia
2020-02-15Fix regex for parsing rules.mk filesGravatar Erovia
I don't know why it couldn't put it together before... ¯\_(ツ)_/¯
2020-02-15Add test for list_keymapsGravatar Erovia
2020-02-15Another major refactoring, add documentationGravatar Erovia
Move all useful functions to the qmk module and use the cli subcommand as a wrapper around it. Add both inline comments and documentation.
2020-02-15Fix output formatGravatar Erovia
2020-02-15Try to figure out revision, drop -rv/--revision argumentGravatar Erovia
2020-02-15Fix help message.Gravatar Erovia
2020-02-15Get all buildable keymaps for each revisionGravatar Erovia
The command now return all keymaps that's buildable for a keyboard/revision. If the base directory of a keyboard does not contain a 'rules.mk' file, nothing is returned. If the base directory contains a 'keymaps' directory, those keycaps will be returned for every revision.
2020-02-15Major update to work better with revisionsGravatar Erovia
Find the community keymaps supported by each revision.
2020-02-15CLI: add support for list_keymapsGravatar Erovia
List all the available keymaps for a given keyboard
2020-02-08Update the flash cli command to use the user config (#8125)Gravatar Erovia
2020-02-08CI: Add workflow for CLI testing (#7357)Gravatar Joel Challis
Create GitHub Actions cli test workflow and remove travis runs of 'qmk pytest'
2020-02-07Add QMK Compile Context Sensitivity (#6884)Gravatar Cody Bender
* Add context sensitive compile, without config check * Initial full working state. Plan to refactor * Refactor loop for simplicity, add comments * Update docs/cli.md with qmk compile examples * Simplify path for keyboard derivation * Update path to use path.join instead of concat * Refactor keyboard path, the skully way * Add in keymap folder support * Add /layouts compile support * Update docs/cli.md with empty compile in layouts * Add comments to compile.py * Update docs for clarity, and fix compile error typo * Fix config option compile * Fix layout compile and failure mode * Add rules.mk check * Fix variable names for global config * Add in_layout priority * Remove default fallback in favor of throw, update docs * Add keymap folder context * Fix formatting * Add os import * Convert to create_make_command * Fix Travis lint errors * Remove blank line with whitespace * Add blank lines for readability * Remove unnecessary config logic * Update Docs to add flash Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Shift config precedence to MILC Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
2020-02-03Improve the functionality of qmk.questions (#8020)Gravatar skullydazed
* wip * tested and working * remove unused import * Update lib/python/qmk/questions.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * fix flake8 errors Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-02-02Fix cformat processing files within ignore folders (#8063)Gravatar Joel Challis
2020-01-28Qmk doctor os check to support newer msys2/w10 installations (#8031)Gravatar Mikkel Jeppesen
* Fixed OS detection on newer MSYS installations * made OS sting lower case
2020-01-24Beef up how `qmk doctor` works. (#7375)Gravatar skullydazed
* Beef up how `qmk doctor` works. * improve the `git submodule status` parsing. h/t @erovia * Fix whitespace and imports * yapf * Add documentation for the new doctor functionality * Replace type_unchanged() with str() * remove unused modules * Update lib/python/qmk/cli/doctor.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-01-21Align cformat rules with current CI implementation (#7936)Gravatar Joel Challis
* Align cformat rules with current CI implementation * Optimise file walking
2020-01-11yapf and styleGravatar skullY
2020-01-11Make the udev rules easier to read and manageGravatar Erovia
2020-01-11Fix Pro Micro's and its bootloader's nameGravatar Erovia
2020-01-11CLI: Rework ModemManager check and add udev checkGravatar Erovia