On Tue, Apr 30, 2024 at 6:49 AM Luca Vizzarro <luca.vizza...@arm.com> wrote: > <snip> > > > Is it simpler to default this to base 10? I assume that's what it'll > > be most of the time so we might as well allow users to skip this > > parameter. > > Base 0 just assumes the base of the number from the number prefix[1]. So > if it's 0xAF it's base 16, 0o755 it's base 8 and so on. Of course base > 10 is assumed with no prefix. I can certainly leave it as 10 as default, > but is there a benefit to our purpose?
I wasn't aware that was the effect of having base 0. In that case, not only is there no benefit to defaulting to base 10, I would argue there is benefit to not doing so and leaving it 0 by default! Thanks for letting me know! > > > If we just skip instead of raising an exception here, would this solve > > the issues caused by the first and last line in the testpmd output? > > The check to see if the first line is an invalid port would obviously > > still not work, but would it solve the problem of the trailing prompt? > > This exception is only raised when a field does not have a default value > and there is no value to be assigned. Of course an exception is raised > when attempting to construct and omitting a mandatory field, but this > one is more meaningful as it provides context on what's wrong. > > It is not related to neither trailing/leading strings. These don't > affect the functionality of the class. But rather the actual parsing > done by the "user". > Ahh, I see. I was confused, I thought the issue you were facing with the trailing prompt might have been that you were feeding it into the structure which uses this parsing utility and then it was throwing an exception because it just didn't know what it was, but that makes sense that it wouldn't even be a flag in the structure so wouldn't have much effect. I was hoping that would make things easier so that we could just assume that the tool using the utility will always specify *exactly* the information it cares about and ignore anything that it doesn't so that you could still use the raw output from testpmd even with the irrelevant lines. I see now that this is not relevant, apologies. > [1] https://docs.python.org/3.10/library/functions.html#int