kopia lustrzana https://gitlab.com/gerbolyze/gerbonara
add new pcb-tools cli
rodzic
ea1d14b7f3
commit
8bad573131
|
@ -0,0 +1 @@
|
|||
__version__ = '0.0.1'
|
|
@ -0,0 +1,39 @@
|
|||
from os import path, listdir
|
||||
from glob import glob
|
||||
|
||||
from . import __version__
|
||||
|
||||
import click
|
||||
|
||||
|
||||
@click.group()
|
||||
@click.version_option(__version__)
|
||||
def cli():
|
||||
pass
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.option('-o', '--outfile', type=click.File(mode='wb'), help='Output Filename (extension will be added automatically)')
|
||||
@click.option('-t', '--theme', default='default', type=click.Choice(['default', 'OSH Park', 'Blue', 'Transparent Copper', 'Transparent Multilayer'], case_sensitive=False), help='Select render theme')
|
||||
@click.option('-w', '--width', type=click.INT, help='Maximum width')
|
||||
@click.option('-h', '--height', type=click.INT, help='Maximum height')
|
||||
@click.option('-v', '--verbose', is_flag=True, help='Increase verbosity of the output')
|
||||
@click.argument('filenames', nargs=-1, type=click.Path(exists=True))
|
||||
def render(outfile, theme, width, height, verbose, filenames):
|
||||
"""Render gerber files to image. If a directory is provided, it should be provided alone and should contain the gerber files for a single PCB."""
|
||||
if len(filenames) == 0:
|
||||
raise click.UsageError(message='No files or folders provided')
|
||||
if len(filenames) > 1:
|
||||
for f in filenames:
|
||||
if path.isdir(f):
|
||||
raise click.UsageError(message='If a directory is provided, it should be provided alone and should contain the gerber files for a single PCB')
|
||||
|
||||
# list files if folder id given
|
||||
if len(filenames) == 1 and path.isdir(filenames[0]):
|
||||
filenames = listdir(filenames[0])
|
||||
#filenames = [f for f in glob(f'{filenames[0]}/*.txt')]
|
||||
|
||||
click.echo(f'render {filenames} with theme {theme}')
|
||||
|
||||
|
||||
cli.add_command(render)
|
9
setup.py
9
setup.py
|
@ -13,7 +13,7 @@ def long_description():
|
|||
|
||||
|
||||
def version():
|
||||
with open(join(abspath(dirname(__file__)), 'gerber/__init__.py')) as fh:
|
||||
with open(join(abspath(dirname(__file__)), 'gerbonara/__init__.py')) as fh:
|
||||
for line in fh:
|
||||
if line.startswith('__version__'):
|
||||
ver = line.split("'")[1]
|
||||
|
@ -43,7 +43,12 @@ setup(
|
|||
'Tracker': 'https://gitlab.com/gerbonara/gerbonara/issues',
|
||||
},
|
||||
packages=find_packages(exclude=['tests']),
|
||||
install_requires=[],
|
||||
install_requires=['click'],
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'gerbonara = gerbonara.cli:cli',
|
||||
],
|
||||
},
|
||||
classifiers=[
|
||||
'Development Status :: 1 - Planning',
|
||||
#'Development Status :: 3 - Alpha',
|
||||
|
|
Ładowanie…
Reference in New Issue