mirror of
https://github.com/niess/python-appimage.git
synced 2026-03-14 04:10:15 +01:00
Add a which command for locating binary deps
This commit is contained in:
@@ -9,6 +9,13 @@ __all__ = ['main']
|
||||
|
||||
|
||||
def main():
|
||||
'''Entry point for the CLI
|
||||
'''
|
||||
|
||||
# Binary dependencies
|
||||
binaries = ('appimagetool', 'patchelf')
|
||||
|
||||
|
||||
# Parse arguments
|
||||
parser = argparse.ArgumentParser(
|
||||
prog='python-appimage',
|
||||
@@ -25,7 +32,7 @@ def main():
|
||||
install_parser = subparsers.add_parser('install',
|
||||
description='Install binary dependencies')
|
||||
install_parser.add_argument('binary', nargs='+',
|
||||
choices=('appimagetool', 'patchelf'), help='one or more binary name')
|
||||
choices=binaries, help='one or more binary name')
|
||||
|
||||
local_parser = subparsers.add_parser('local',
|
||||
description='Bundle a local Python installation')
|
||||
@@ -43,6 +50,11 @@ def main():
|
||||
manylinux_parser.add_argument('--contained', help=argparse.SUPPRESS,
|
||||
action='store_true', default=False)
|
||||
|
||||
which_parser = subparsers.add_parser('which',
|
||||
description='Locate a binary dependency')
|
||||
which_parser.add_argument('binary', choices=binaries,
|
||||
help='name of the binary to locate')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Configure the verbosity
|
||||
|
||||
@@ -4,8 +4,6 @@ from ..utils import deps
|
||||
from ..utils.log import log
|
||||
|
||||
|
||||
|
||||
|
||||
__all__ = ['execute']
|
||||
|
||||
|
||||
|
||||
21
python_appimage/commands/which.py
Normal file
21
python_appimage/commands/which.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import os
|
||||
|
||||
from ..utils import deps
|
||||
from ..utils.log import log
|
||||
|
||||
|
||||
__all__ = ['execute']
|
||||
|
||||
|
||||
def _unpack_args(args):
|
||||
'''Unpack command line arguments
|
||||
'''
|
||||
return (args.binary,)
|
||||
|
||||
|
||||
def execute(binary):
|
||||
'''Print the location of a binary dependency
|
||||
'''
|
||||
path = os.path.join(os.path.dirname(deps.PATCHELF), binary)
|
||||
if os.path.exists(path):
|
||||
print(path)
|
||||
Reference in New Issue
Block a user