On 9/24/19 8:28 AM, Markus Armbruster wrote: > We track source locations with a dict of the form > > {'file': FNAME, 'line': LINENO, parent': PARENT} > > where PARENT is None for the main file, and the include directive's > source location for included files. > > This is servicable enough, but the next commit will add information, > and that's going to come out cleaner if we turn this into a class. So > do that. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > ---
> class QAPIError(Exception): > - def __init__(self, fname, line, col, incl_info, msg): > + def __init__(self, info, col, msg): > Exception.__init__(self) Unrelated to this patch, but I just noticed https://docs.quantifiedcode.com/python-anti-patterns/ today (in part based on my question on another patch about using 'list.get(key, False)' rather than 'key in list and list[key]'). In particular, I found https://docs.quantifiedcode.com/python-anti-patterns/correctness/missing_argument_to_super.html which recommends using: def __init__(...): super(QAPIError, self).__init__() (because of Python 2), while other sits state that with python 3, you can further get away with: def __init__(...): super().__init(...) Should we be switching our code base to use super() in more places, rather than hard-coding the parent class name? -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature