Convertir le type d'entité Webpay en type Dict (récursivement en Python)

Webpay, je ne pense pas que ce soit très populaire, mais j'essaye de l'utiliser pendant un moment.

La documentation semble facile à comprendre, mais elle prend un certain temps à comprendre parce qu'elle essaie.

Les liaisons Python sont fournies (installables avec pip) et sont relativement faciles à demander.

import webpay

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

Comme ça.

Cette variable response contient le type webpay ʻEntity ( webpay.data_types.Entity`), dont le contenu est similaire à celui d'un dictionnaire, mais chaque valeur est développée en une variable de classe. Je vais. C'est comme un objet JavaScript.

Il est imbriqué, donc essayer de le connecter peut être très ennuyeux. Pour le moment, __str__ est implémenté et une chaîne de caractères structurée similaire à yaml est renvoyée, mais c'est un peu nerveux car elle comprend des sauts de ligne et ainsi de suite. À moins que vous n'écriviez également un analyseur, il semble moins réutilisable.

Donc. Je pense que ce sera plus facile à gérer si vous le convertissez de manière récursive dans le type de dictionnaire.

from webpay.data_types import Entity


def webpay_entity_to_dict(webpay_entity):
    """
Convertir récursivement le type d'entité Webpay en 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()}

Si vous le transmettez, vous pouvez en faire un type de dictionnaire, afin de pouvoir le consigner après json.dumps (), ou il sera plus facile à sérialiser.

Recommended Posts

Convertir le type d'entité Webpay en type Dict (récursivement en Python)
Convertir Markdown en PDF en Python
Convertir un fichier psd en png en Python
Convertir de Markdown en HTML en Python
Convertir une URL absolue en URL relative en Python
Convertissez des PDF en images en masse avec Python
Convertir un float exponentiel en str en Python
Comment gérer le type datetime dans sqlite3 de python
Convertir le code de maillage cubique en WKT en Python
Convertir dict en tableau
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
Comment convertir / restaurer une chaîne avec [] en python
Comment convertir le type Python # pour les super débutants de Python: str
Convertir le tableau NumPy "ndarray" en lilt en Python [tolist ()]
Convertir le masque de réseau de notation CIDR en notation décimale à points en Python
Comment convertir des nombres à virgule flottante en nombres binaires en Python
Convertissez l'image au format .zip en PDF avec Python
[Python] Comment trier un dict dans une liste et une instance dans une liste
Convertir / renvoyer des objets de classe au format JSON en Python
[Python] Création d'une méthode pour convertir la base en 1 seconde
Pour vider stdout en Python
Convertir numpy int64 en python int
[Python] Convertir la liste en Pandas [Pandas]
Connectez-vous au site Web en Python
Utiliser un dict clé de liste en Python
Convertir le projet Scratch en Python
[Python] Convertir Shift_JIS en UTF-8
Convertir la notation CIDR en Python
Parler avec Python [synthèse vocale]
Convertir le code python 3.x en python 2.x
Publier sur Slack en Python
Comment convertir le type Python # pour les super débutants de Python: int, float
Convertir l'image passée à Jason Stay Samlike en Python en ASCII Art
Convertir un fichier Excel en texte en Python à des fins de comparaison
Déterminez le format de la date et de l'heure avec Python et convertissez-le en Unixtime
[Python] Comment faire PCA avec Python
Entraine toi! !! Introduction au type Python (conseils de type)
Comment collecter des images en Python
Convertir des fichiers écrits en python, etc. en pdf avec la coloration syntaxique
Comment utiliser SQLite en Python
Workflow pour convertir une formule (image) en python
Tapez Python pour implémenter l'expansion algébrique (3) ~ Anneau polygonal, anneau résiduel du polynôme, expansion du champ ~
Convertir la liste en DataFrame avec python
Lisez le binaire big endian en Python et convertissez-le en ndarray
Essayez de calculer Trace en Python
Comment convertir 0,5 en 1056964608 en un seul coup
Python> liste> Convertir une double liste en une seule liste
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
[Python] Convertit les nombres naturels en nombres ordinaux
Convertir décimal en n-aire [python]
Convertissez le résultat de python optparse en dict et utilisez-le
Comment gérer le japonais avec Python
Python> tuple> Convertir un double tuple en un seul tuple
Une alternative à `pause` en Python
Que faire lorsque le type de valeur est ambigu en Python?
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.