[Python-de] importlib.metadata: Keys funktionieren nicht , wenn es mehrere gibt

<[email protected]> Mon, 2 Jan 2023 14:00:59 +0000
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
Hi,

ich versuche herauszufinden, wie die Nutzung von importlib.metadata
eigentlich gedacht ist. In Beispielen sieht man of einen dict-artigen
Zugriff

	importlib.metadata.metadata['mypackage']['Version']

Das funktioniert aber nicht, wenn man z.B. mehrere "Classifier" oder
"Project-URL" in den Meta-Daten des Paketes hat.

	importlib.metadata.metadata['mypackage']['Project-URL']

zeigt immer nur die erste URL an, aber nicht die weiteren.

Das Meta-Datenobjekt hat auch einen merkwürdigen Typ.

    >>> m = metadata.metadata('mypackage')
    >>> m
    <email.message.Message object at 0x7fa2cabe6370>

Nun kann ich das alles umgehen, in dem ich auf das "_headers" Attribute
zugreife und ein bisschen "rummauschle".


>>> for h in m._headers:
...   if h[0] == 'Project-URL':
...     print(h[1])
... 
homepage, https://codeberg.org/buhtz/hyperorg
repository, https://codeberg.org/buhtz/hyperorg
changelog, https://codeberg.org/buhtz/hyperorg/src/CHANGELOG.md


Da es sich aber um ein privates Attribute handelt, betrachte ich das
als Workaround/Hack und nicht so von den Entwicklern gedacht.
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]