Browse Source

tools/mpremote: Add support to mip install from GitLab.

Changes are:
- main.py: Add gitlab:org/repo, gitlab:org/repo@branch.
- mip.py: Implement install from GitLab.
- README.md: Add mip install gitlab:org/repo@branch example.

Signed-off-by: Olivier Lenoir <olivier.len02@gmail.com>
pull/13791/head
Olivier Lenoir 8 months ago
committed by Damien George
parent
commit
85c85e8f0d
  1. 1
      tools/mpremote/README.md
  2. 2
      tools/mpremote/mpremote/main.py
  3. 13
      tools/mpremote/mpremote/mip.py

1
tools/mpremote/README.md

@ -80,3 +80,4 @@ Examples:
mpremote cp -r dir/ :
mpremote mip install aioble
mpremote mip install github:org/repo@branch
mpremote mip install gitlab:org/repo@branch

2
tools/mpremote/mpremote/main.py

@ -214,7 +214,7 @@ def argparse_mip():
cmd_parser.add_argument(
"packages",
nargs="+",
help="list package specifications, e.g. name, name@version, github:org/repo, github:org/repo@branch",
help="list package specifications, e.g. name, name@version, github:org/repo, github:org/repo@branch, gitlab:org/repo, gitlab:org/repo@branch",
)
return cmd_parser

13
tools/mpremote/mpremote/mip.py

@ -65,6 +65,18 @@ def _rewrite_url(url, branch=None):
+ "/"
+ "/".join(url[2:])
)
elif url.startswith("gitlab:"):
url = url[7:].split("/")
url = (
"https://gitlab.com/"
+ url[0]
+ "/"
+ url[1]
+ "/-/raw/"
+ branch
+ "/"
+ "/".join(url[2:])
)
return url
@ -116,6 +128,7 @@ def _install_package(transport, package, index, target, version, mpy):
package.startswith("http://")
or package.startswith("https://")
or package.startswith("github:")
or package.startswith("gitlab:")
):
if package.endswith(".py") or package.endswith(".mpy"):
print(f"Downloading {package} to {target}")

Loading…
Cancel
Save