Added auto-download for KiBoM
This commit is contained in:
parent
c453fff8af
commit
c97705da03
|
|
@ -127,7 +127,7 @@ Notes:
|
||||||
[**Interactive HTML BoM**](https://github.com/INTI-CMNB/InteractiveHtmlBom) v2.4.1.4 (tool)
|
[**Interactive HTML BoM**](https://github.com/INTI-CMNB/InteractiveHtmlBom) v2.4.1.4 (tool)
|
||||||
- Mandatory for `ibom`
|
- Mandatory for `ibom`
|
||||||
|
|
||||||
[**KiBoM**](https://github.com/INTI-CMNB/KiBoM) v1.8.0 (tool)
|
[**KiBoM**](https://github.com/INTI-CMNB/KiBoM) v1.8.0 (tool) (Auto-download)
|
||||||
- Mandatory for `kibom`
|
- Mandatory for `kibom`
|
||||||
|
|
||||||
[**LXML**](https://pypi.org/project/LXML/) (python module) [Debian](https://packages.debian.org/bullseye/python3-lxml)
|
[**LXML**](https://pypi.org/project/LXML/) (python module) [Debian](https://packages.debian.org/bullseye/python3-lxml)
|
||||||
|
|
|
||||||
|
|
@ -8,19 +8,20 @@ from re import search
|
||||||
from tempfile import NamedTemporaryFile
|
from tempfile import NamedTemporaryFile
|
||||||
from subprocess import (check_output, STDOUT, CalledProcessError)
|
from subprocess import (check_output, STDOUT, CalledProcessError)
|
||||||
from .misc import (CMD_KIBOM, URL_KIBOM, BOM_ERROR, ToolDependency, ToolDependencyRole, W_EXTNAME)
|
from .misc import (CMD_KIBOM, URL_KIBOM, BOM_ERROR, ToolDependency, ToolDependencyRole, W_EXTNAME)
|
||||||
from .kiplot import (check_script)
|
|
||||||
from .gs import (GS)
|
from .gs import (GS)
|
||||||
from .optionable import Optionable, BaseOptions
|
from .optionable import Optionable, BaseOptions
|
||||||
from .error import KiPlotConfigurationError
|
from .error import KiPlotConfigurationError
|
||||||
from .bom.columnlist import ColumnList
|
from .bom.columnlist import ColumnList
|
||||||
from .registrable import RegDependency
|
from .registrable import RegDependency
|
||||||
|
from .dep_downloader import check_tool, pytool_downloader
|
||||||
from .macros import macros, document, output_class # noqa: F401
|
from .macros import macros, document, output_class # noqa: F401
|
||||||
from . import log
|
from . import log
|
||||||
|
|
||||||
logger = log.get_logger()
|
logger = log.get_logger()
|
||||||
CONFIG_FILENAME = 'config.kibom.ini'
|
CONFIG_FILENAME = 'config.kibom.ini'
|
||||||
RegDependency.register(ToolDependency('kibom', 'KiBoM', URL_KIBOM, url_down=URL_KIBOM+'/releases',
|
kibom_dep = ToolDependency('kibom', 'KiBoM', URL_KIBOM, url_down=URL_KIBOM+'/releases', command=CMD_KIBOM, in_debian=False,
|
||||||
command=CMD_KIBOM, in_debian=False, roles=ToolDependencyRole(version=(1, 8, 0))))
|
downloader=pytool_downloader, roles=ToolDependencyRole(version=(1, 8, 0)))
|
||||||
|
RegDependency.register(kibom_dep)
|
||||||
|
|
||||||
|
|
||||||
class KiBoMRegex(Optionable):
|
class KiBoMRegex(Optionable):
|
||||||
|
|
@ -183,7 +184,7 @@ class KiBoMConfig(Optionable):
|
||||||
""" Create a list of valid columns """
|
""" Create a list of valid columns """
|
||||||
if not GS.sch:
|
if not GS.sch:
|
||||||
return ColumnList.COLUMNS_DEFAULT
|
return ColumnList.COLUMNS_DEFAULT
|
||||||
check_script(CMD_KIBOM, URL_KIBOM, '1.8.0')
|
check_tool(kibom_dep, fatal=True)
|
||||||
config = None
|
config = None
|
||||||
csv = None
|
csv = None
|
||||||
columns = None
|
columns = None
|
||||||
|
|
@ -370,7 +371,7 @@ class KiBoMOptions(BaseOptions):
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def run(self, name):
|
def run(self, name):
|
||||||
check_script(CMD_KIBOM, URL_KIBOM, '1.8.0')
|
kibom_command = check_tool(kibom_dep, fatal=True)
|
||||||
format = self.format.lower()
|
format = self.format.lower()
|
||||||
prj = GS.sch_no_ext
|
prj = GS.sch_no_ext
|
||||||
config = os.path.join(GS.sch_dir, self.conf)
|
config = os.path.join(GS.sch_dir, self.conf)
|
||||||
|
|
@ -383,7 +384,7 @@ class KiBoMOptions(BaseOptions):
|
||||||
output = os.path.basename(prj)+'.'+format
|
output = os.path.basename(prj)+'.'+format
|
||||||
output_dir = name
|
output_dir = name
|
||||||
logger.debug('Doing BoM, format {} prj: {} config: {} output: {}'.format(format, prj, config, output))
|
logger.debug('Doing BoM, format {} prj: {} config: {} output: {}'.format(format, prj, config, output))
|
||||||
cmd = [CMD_KIBOM,
|
cmd = [kibom_command,
|
||||||
'-n', str(self.number),
|
'-n', str(self.number),
|
||||||
'--cfg', config,
|
'--cfg', config,
|
||||||
'-s', self.separator,
|
'-s', self.separator,
|
||||||
|
|
|
||||||
|
|
@ -223,7 +223,7 @@ deps = '{\
|
||||||
"KiBoM": {\
|
"KiBoM": {\
|
||||||
"command": "KiBOM_CLI.py",\
|
"command": "KiBOM_CLI.py",\
|
||||||
"deb_package": "kibom",\
|
"deb_package": "kibom",\
|
||||||
"downloader": null,\
|
"downloader": {},\
|
||||||
"extra_deb": null,\
|
"extra_deb": null,\
|
||||||
"help_option": "--version",\
|
"help_option": "--version",\
|
||||||
"importance": 10000,\
|
"importance": 10000,\
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue