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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to