Simplify CLI
This commit is contained in:
parent
60528926ee
commit
abd1aa28c4
|
@ -1,19 +0,0 @@
|
|||
|
||||
....
|
||||
.__.
|
||||
....
|
||||
.
|
||||
..... .....
|
||||
.,,,........
|
||||
.,_,. .....
|
||||
.,,,. .....
|
||||
..... ..... ...
|
||||
. ...
|
||||
.............
|
||||
. . ...
|
||||
. .....
|
||||
_ .___.
|
||||
.___.
|
||||
.___.
|
||||
.....
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
,,,,,,,,
|
||||
m,__,,,_,
|
||||
m____,,,,
|
||||
m.__,,,,,
|
||||
mm...,,,,
|
||||
m,___.,,,,
|
||||
m,,,,,,,
|
||||
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
,,,,,,,
|
||||
,,___,,
|
||||
,,___,,
|
||||
,,___,,
|
||||
,,,,,,,
|
|
@ -1,10 +0,0 @@
|
|||
,,,,TTTTT
|
||||
,,,.....TTT
|
||||
,,,.....TTTTT
|
||||
,,.......TTT
|
||||
,,........TT
|
||||
MM._________..M
|
||||
MM.________..MM
|
||||
MM._____o_____..M
|
||||
M__o___________.M
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
,,,,,,,,,,,,,,
|
||||
,,,........,,,
|
||||
,,,.______.,,,
|
||||
,,,._o____.,,,
|
||||
,,,.______.,,,
|
||||
,,,........,,,
|
||||
,,,,,,,,,,,,,,
|
|
@ -13,8 +13,8 @@
|
|||
....v.
|
||||
|
||||
.^.........
|
||||
...........
|
||||
...........
|
||||
...........
|
||||
...,,,,,...
|
||||
...,___,...
|
||||
...,,,,,...
|
||||
........... 5
|
||||
|
|
@ -2,6 +2,7 @@ import logging
|
|||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Union
|
||||
|
||||
import typer
|
||||
from rich.console import Console
|
||||
|
@ -13,13 +14,13 @@ from tilemapper import tileset as _tileset
|
|||
app = typer.Typer()
|
||||
app_state = {}
|
||||
|
||||
INSTALL_DIR = Path(__file__).parent.parent
|
||||
|
||||
|
||||
@app.callback(invoke_without_command=True)
|
||||
def main(
|
||||
ctx: typer.Context,
|
||||
config_dir: Path = typer.Option(
|
||||
default=Path(__file__).parent.parent / "tilesets", help="The path containing tile sets to load."
|
||||
),
|
||||
config_dir: Path = typer.Option(default=INSTALL_DIR / "tilesets", help="The path containing tile sets to load."),
|
||||
verbose: bool = typer.Option(default=False, help="If True, increase verbosity of status messages."),
|
||||
):
|
||||
app_state["tileset_manager"] = _tileset.TileSetManager(config_dir)
|
||||
|
@ -31,6 +32,8 @@ def main(
|
|||
level=logging.DEBUG if debug else logging.INFO,
|
||||
handlers=[RichHandler(rich_tracebacks=True, tracebacks_suppress=[typer])],
|
||||
)
|
||||
if ctx.invoked_subcommand is None:
|
||||
render_map()
|
||||
|
||||
|
||||
@app.command()
|
||||
|
@ -44,7 +47,9 @@ def list():
|
|||
|
||||
@app.command()
|
||||
def render(
|
||||
source: Path = typer.Argument(help="The battle map text file to load."),
|
||||
source: Path = typer.Option(
|
||||
help="The battle map text file to load.", default=INSTALL_DIR / "examples" / "five_room_dungeon.txt"
|
||||
),
|
||||
outfile: Path = typer.Option(help="The file to create. If not specified, print to STDOUT", default=None),
|
||||
tileset: str = typer.Option(
|
||||
help="The name of the tile set to use (run mapper list to see what's available).", default="colorized"
|
||||
|
@ -54,6 +59,14 @@ def render(
|
|||
Create a rendered battle map using a tile set. Will generate a PNG file if the tile set supports it,
|
||||
otherwise text output.
|
||||
"""
|
||||
render_map(source, outfile, tileset)
|
||||
|
||||
|
||||
def render_map(
|
||||
source: Path = INSTALL_DIR / "examples" / "five_room_dungeon.txt",
|
||||
outfile: Union[Path, None] = None,
|
||||
tileset: str = 'colorized'
|
||||
):
|
||||
manager = app_state["tileset_manager"]
|
||||
if tileset not in manager.available:
|
||||
raise RuntimeError(f"Could not locate the tile set {tileset} in {manager.config_dir}.")
|
||||
|
|
Loading…
Reference in New Issue
Block a user