Auto-debug when output would be empty
This commit is contained in:
parent
bc7578199d
commit
b43b71998a
1 changed files with 67 additions and 57 deletions
|
@ -7,10 +7,9 @@ const outlines_lib = require('./outlines')
|
||||||
const cases_lib = require('./cases')
|
const cases_lib = require('./cases')
|
||||||
const pcbs_lib = require('./pcbs')
|
const pcbs_lib = require('./pcbs')
|
||||||
|
|
||||||
module.exports = {
|
const process = async (raw, debug=false, logger=()=>{}) => {
|
||||||
version: '__ergogen_version',
|
|
||||||
process: async (raw, debug=false, logger=()=>{}) => {
|
|
||||||
|
|
||||||
|
let empty = true
|
||||||
let [config, format] = io.interpret(raw, logger)
|
let [config, format] = io.interpret(raw, logger)
|
||||||
logger('Interpreting format: ' + format)
|
logger('Interpreting format: ' + format)
|
||||||
|
|
||||||
|
@ -46,6 +45,7 @@ module.exports = {
|
||||||
for (const [name, outline] of Object.entries(outlines)) {
|
for (const [name, outline] of Object.entries(outlines)) {
|
||||||
if (!debug && name.startsWith('_')) continue
|
if (!debug && name.startsWith('_')) continue
|
||||||
results.outlines[name] = io.twodee(outline, debug)
|
results.outlines[name] = io.twodee(outline, debug)
|
||||||
|
empty = false
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('Extruding cases...')
|
logger('Extruding cases...')
|
||||||
|
@ -54,6 +54,7 @@ module.exports = {
|
||||||
for (const [case_name, case_script] of Object.entries(cases)) {
|
for (const [case_name, case_script] of Object.entries(cases)) {
|
||||||
if (!debug && case_name.startsWith('_')) continue
|
if (!debug && case_name.startsWith('_')) continue
|
||||||
results.cases[case_name] = await io.threedee(case_script, debug)
|
results.cases[case_name] = await io.threedee(case_script, debug)
|
||||||
|
empty = false
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('Scaffolding PCBs...')
|
logger('Scaffolding PCBs...')
|
||||||
|
@ -62,9 +63,18 @@ module.exports = {
|
||||||
for (const [pcb_name, pcb_text] of Object.entries(pcbs)) {
|
for (const [pcb_name, pcb_text] of Object.entries(pcbs)) {
|
||||||
if (!debug && pcb_name.startsWith('_')) continue
|
if (!debug && pcb_name.startsWith('_')) continue
|
||||||
results.pcbs[pcb_name] = pcb_text
|
results.pcbs[pcb_name] = pcb_text
|
||||||
|
empty = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!debug && empty) {
|
||||||
|
logger('Output would be empty, rerunning in debug mode...')
|
||||||
|
return process(raw, true, () => {})
|
||||||
|
}
|
||||||
return results
|
return results
|
||||||
},
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
version: '__ergogen_version',
|
||||||
|
process,
|
||||||
inject_footprint: pcbs_lib.inject_footprint
|
inject_footprint: pcbs_lib.inject_footprint
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue