protoboard: Add CLI

merge-requests/4/head
jaseg 2024-07-07 22:48:19 +02:00
rodzic 26e85279dc
commit 93fd764482
2 zmienionych plików z 20 dodań i 1 usunięć

Wyświetl plik

@ -24,6 +24,7 @@ import re
import warnings
import json
import itertools
import webbrowser
from pathlib import Path
from .utils import MM, Inch
@ -33,6 +34,7 @@ from . import layers as lyr
from . import __version__
from .cad.kicad import schematic as kc_schematic
from .cad.kicad import tmtheme
from .cad import protoserve
def _print_version(ctx, param, value):
@ -130,6 +132,23 @@ def cli():
well as sets of those files """
pass
@cli.group('protoboard')
def protoboard_group():
pass
@protoboard_group.command()
@click.option('-h', '--host', default=None, help='Hostname to listen on. Defaults to localhost.')
@click.option('-p', '--port', type=int, default=1337, help='Port to listen on. Defaults to 1337')
def interactive(host, port):
''' Launch gerbonar's interactive protoboard designer in your browser '''
if host is None:
@protoserve.app.before_serving
async def open_browser():
webbrowser.open_new(f'http://localhost:{port}/')
protoserve.app.run(host=host, port=port, use_reloader=False, debug=False)
@cli.group('kicad')
def kicad_group():

Wyświetl plik

@ -30,7 +30,7 @@ setup(
'Tracker': 'https://gitlab.com/gerbolyze/gerbonara/issues',
},
packages=find_packages(exclude=['tests']),
install_requires=['click', 'rtree'],
install_requires=['click', 'rtree', 'quart'],
entry_points={
'console_scripts': [
'gerbonara = gerbonara.cli:cli',