[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/25] qapi: New QAPISourceInfo, replacing dict
From: |
Eric Blake |
Subject: |
Re: [PATCH 03/25] qapi: New QAPISourceInfo, replacing dict |
Date: |
Tue, 24 Sep 2019 14:12:27 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
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 <address@hidden>
> ---
> 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
- [PATCH 00/25] qapi: Pay back some frontend technical debt, Markus Armbruster, 2019/09/24
- [PATCH 01/25] qapi: Tighten QAPISchemaFOO.check() assertions, Markus Armbruster, 2019/09/24
- [PATCH 03/25] qapi: New QAPISourceInfo, replacing dict, Markus Armbruster, 2019/09/24
- [PATCH 02/25] qapi: Rename .owner to .defined_in, Markus Armbruster, 2019/09/24
- [PATCH 10/25] qapi: Use check_name_str() where it suffices, Markus Armbruster, 2019/09/24
- [PATCH 17/25] qapi: Move context-free checking to the proper place, Markus Armbruster, 2019/09/24
- [PATCH 11/25] qapi: Report invalid '*' prefix like any other invalid name, Markus Armbruster, 2019/09/24
- [PATCH 24/25] qapi: Improve reporting of redefinition, Markus Armbruster, 2019/09/24