mirror of https://codeberg.org/topola/topola.git
cli: by default, assume output filename is input's with .ses extension
This commit is contained in:
parent
87fd5d5d05
commit
a9f42e1d8f
11
INSTALL.md
11
INSTALL.md
|
|
@ -42,14 +42,17 @@ The application will now be invokable from your terminal as `topola`.
|
|||
|
||||
#### Autorouting example
|
||||
|
||||
As an example, running the following commands will autoroute a KiCad project of a
|
||||
simple THT diode bridge rectifier:
|
||||
As an example, running the following commands will autoroute a KiCad
|
||||
project of a simple THT diode bridge rectifier:
|
||||
|
||||
```
|
||||
cd tests/single_layer/data/tht_diode_bridge_rectifier/
|
||||
topola tht_diode_bridge_rectifier.dsn tht_diode_bridge_rectifier.ses
|
||||
topola tht_diode_bridge_rectifier.dsn
|
||||
```
|
||||
|
||||
By default, the output filename is the input filename with extension
|
||||
changed to `ses`: `tht_diode_bridge_rectifier.ses`.
|
||||
|
||||
##### Viewing the results
|
||||
|
||||
You can view the results of the autorouting in KiCad if you have it
|
||||
|
|
@ -72,7 +75,7 @@ then as follows:
|
|||
|
||||
```
|
||||
cd tests/single_layer/data/tht_diode_bridge_rectifier/
|
||||
cargo run --features cli -- tht_diode_bridge_rectifier.dsn tht_diode_bridge_rectifier.ses
|
||||
cargo run --features cli -- tht_diode_bridge_rectifier.dsn
|
||||
```
|
||||
|
||||
Viewing the results is obviously the same.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ use topola::specctra::design::SpecctraDesign;
|
|||
#[command(about, version)]
|
||||
struct Cli {
|
||||
input: PathBuf,
|
||||
output: PathBuf,
|
||||
#[arg(short, long, value_name = "FILE")]
|
||||
output: Option<PathBuf>,
|
||||
#[arg(short, long, value_name = "FILE")]
|
||||
commands: Option<PathBuf>,
|
||||
}
|
||||
|
|
@ -22,7 +23,7 @@ struct Cli {
|
|||
fn main() -> Result<(), std::io::Error> {
|
||||
let args = Cli::parse();
|
||||
|
||||
let design_file = File::open(args.input)?;
|
||||
let design_file = File::open(&args.input)?;
|
||||
let mut design_bufread = BufReader::new(design_file);
|
||||
|
||||
let design = SpecctraDesign::load(design_bufread).unwrap();
|
||||
|
|
@ -41,7 +42,10 @@ fn main() -> Result<(), std::io::Error> {
|
|||
let mut invoker = Invoker::new(Autorouter::new(board).unwrap());
|
||||
invoker.replay(history);
|
||||
|
||||
let mut file = File::create(args.output).unwrap();
|
||||
let output_filename = args
|
||||
.output
|
||||
.unwrap_or_else(|| args.input.clone().with_extension("ses"));
|
||||
let mut file = File::create(output_filename).unwrap();
|
||||
design.write_ses(invoker.autorouter().board(), &mut file);
|
||||
|
||||
Ok(())
|
||||
|
|
|
|||
Loading…
Reference in New Issue