date = _paren_clause('date', Optional(anystring))
tool = _paren_clause('tool', anystring)
number = _paren_clause('number', inum)
name = _paren_clause('name', anystring)
names = _paren_clause('names', anystring)
tstamp = _paren_clause('tstamp', anystring)
tstamps = _paren_clause('tstamps', anystring)
title = _paren_clause('title', anystring)
company = _paren_clause('company', anystring)
rev = _paren_clause('rev', fnum)
title = _paren_clause('title', Optional(anystring))
company = _paren_clause('company', Optional(anystring))
rev = _paren_clause('rev', Optional(fnum))
value = _paren_clause('value', anystring)
comment = Group(_paren_clause('comment', number & value))
comments = Group(OneOrMore(comment))('comments')
gets the parser to pass.
I've attached the sch and net files.
Sadly, what I really need is a .sch parser. I want the locations of stuff in the eeschema sheet.
Still, by reading your parser I discovered the pyparser package which appears to be very nice.
when I generate a netlist from linux (the test in your repo has a windows path) I get no arguments to the date, title, rev, and company arguments
(sheet (number 1) (name /) (tstamps /) (title_block (title) (company) (rev) (date) (source gardenlight.sch) (comment (number 1) (value "")) (comment (number 2) (value "")) (comment (number 3) (value "")) (comment (number 4) (value "")))))
doing this: @@ -68,16 +68,16 @@ def _parse_netlist_kicad(text):
gets the parser to pass.
I've attached the sch and net files.
Sadly, what I really need is a .sch parser. I want the locations of stuff in the eeschema sheet. Still, by reading your parser I discovered the pyparser package which appears to be very nice.
gl.zip