Konvertieren Sie den Webpay-Entitätstyp in den Dict-Typ (rekursiv in Python).

Webpay, ich denke nicht, dass es sehr beliebt ist, aber ich versuche es für eine Weile zu verwenden.

Die Dokumentation sieht leicht zu verstehen aus, aber es dauert eine Weile, bis sie verstanden ist, weil sie es versucht.

Python-Bindungen werden bereitgestellt (mit pip installierbar) und sind relativ einfach anzufordern.

import webpay

client = webpay.WebPay(settings.WEBPAY_SECRET)
response = client.customer.create(card=token)

So was.

Diese Antwortvariable enthält den Entitätstyp webpay (webpay.data_types.Entity), der inhaltlich einem Wörterbuch ähnelt, aber jeder Wert wird zu einer Klassenvariablen erweitert. Ich werde. Es ist wie ein JavaScript-Objekt.

Es ist verschachtelt, daher kann es sehr ärgerlich sein, es zu protokollieren. Derzeit wird __str__ implementiert und eine strukturierte Zeichenfolge ähnlich wie yaml zurückgegeben, die jedoch etwas nervös ist, da sie Zeilenumbrüche usw. enthält. Wenn Sie nicht auch einen Parser schreiben, scheint dieser weniger wiederverwendbar zu sein.

Deshalb. Ich denke, es wird einfacher zu handhaben sein, wenn Sie es rekursiv in den Wörterbuchtyp konvertieren.

from webpay.data_types import Entity


def webpay_entity_to_dict(webpay_entity):
    """
Konvertieren Sie den Webpay-Entitätstyp rekursiv in Dict
    """
    if isinstance(webpay_entity, list):
        return [webpay_entity_to_dict(e) for e in webpay_entity]
    if not isinstance(webpay_entity, Entity):
        return webpay_entity
    return {key: webpay_entity_to_dict(value) for key, value
            in webpay_entity.__dict__.items()}

Wenn Sie dies übergeben, können Sie es zu einem Wörterbuchtyp machen, also können Sie json.dumps () ausführen und es dann protokollieren, oder es wird einfacher, es zu serialisieren.

Recommended Posts

Konvertieren Sie den Webpay-Entitätstyp in den Dict-Typ (rekursiv in Python).
Konvertieren Sie Markdown in Python in PDF
Konvertieren Sie die psd-Datei in Python in png
In Python von Markdown in HTML konvertieren
Konvertieren Sie die absolute URL in eine relative URL in Python
Konvertieren Sie PDFs mit Python in Massenbilder
Konvertieren Sie den exponentiellen Float in Python in str
Wie man mit dem Datum / Uhrzeit-Typ in Pythons SQLite3 umgeht
Konvertieren Sie kubischen Netzcode in Python in WKT
Dikt in Array konvertieren
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
So konvertieren / wiederherstellen Sie einen String mit [] in Python
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
Konvertieren Sie das NumPy-Array "ndarray" in Python [tolist ()]
Konvertieren Sie die Netzmaske der CIDR-Notation in Python in eine gepunktete Dezimalschreibweise
So konvertieren Sie Gleitkommazahlen in Python in Binärzahlen
Konvertieren Sie das Bild in .zip mit Python in PDF
[Python] So sortieren Sie Diktate in Listen und Instanzen in Listen
Konvertieren / Zurückgeben von Klassenobjekten in das JSON-Format in Python
[Python] Erstellt eine Methode zum Konvertieren von Radix in 1 Sekunde
So löschen Sie stdout in Python
Konvertieren Sie numpy int64 in python int
[Python] Liste in Pandas konvertieren [Pandas]
Melden Sie sich auf der Website in Python an
Verwenden Sie in Python ein Diktat mit Listenschlüssel
Konvertieren Sie das Scratch-Projekt in Python
[Python] Konvertieren Sie Shift_JIS in UTF-8
Konvertieren Sie die CIDR-Notation in Python
Sprechen mit Python [Text zu Sprache]
Konvertieren Sie Python 3.x-Code in Python 2.x.
Post an Slack in Python
So konvertieren Sie den Python # -Typ für Python-Superanfänger: int, float
Konvertieren Sie das an Jason Stay Samlike in Python übergebene Bild in ASCII Art
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
[Python] Wie man PCA mit Python macht
Trainieren! !! Einführung in Python Type (Type Hints)
So sammeln Sie Bilder in Python
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
Verwendung von SQLite in Python
Workflow zum Konvertieren der Formel (Bild) in Python
Geben Sie Python ein, um die algebraische Erweiterung zu implementieren (3) ~ Polygonaler Ring, Restring des Polynoms, Erweiterung des Feldes ~
Konvertieren Sie die Liste mit Python in DataFrame
Lesen Sie die Big-Endian-Binärdatei in Python und konvertieren Sie sie in ndarray
Versuchen Sie, Trace in Python zu berechnen
So konvertieren Sie 0,5 in 1056964608 auf einmal
Python> Liste> Doppelte Liste in einfache Liste konvertieren
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
6 Möglichkeiten zum Stringen von Objekten in Python
Verwendung von PubChem mit Python
[Python] Konvertiert natürliche Zahlen in Ordnungszahlen
Konvertieren Sie die Dezimalzahl in n-ary [Python]
Konvertieren Sie das Ergebnis von Python Optparse, um es zu diktieren und zu verwenden
Umgang mit Japanisch mit Python
Python> Tupel> Konvertiert doppeltes Tupel in einzelnes Tupel
Eine Alternative zu "Pause" in Python
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.