python / python/cpython

netrc: accept open file object as initialization argument

Offen
#98,235 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature or enhancement

Make netrc class accept open file object (io.TextIOBase subclass) as an initialization argument.

Pitch

Providing netrc data via StringIO makes it possible to retrieve it from a verity of different sources e.g. an encrypted file. With few additional lines lines of code .netrc becomes a secure password store.

import gpg

with open(file) as file_gpg:
    with gpg.Context() as c:
        plaintext = c.decrypt(file_gpg)[0]
        nrc_data = io.StringIO(plaintext.decode('utf-8'))
        nrc = netrc.netrc(nrc_data)
passwd = nrc.authenticators(hostname)[2]

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne am Initialisierungseinstiegspunkt von netrc.netrc und vergleiche die aktuelle Argumentbehandlung mit dem bereitgestellten io.StringIO-Beispiel. Bestätige, wie ein geöffnetes io.TextIOBase-Objekt konsumiert werden soll, ohne bestehende Eingaben zu ändern, und überprüfe anschließend, dass Parsing und die Authenticator-Suche weiterhin die erwarteten Ergebnisse liefern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.