def from_json(cls, json: Dict): payment_parser = JSONSchema.payment_method(json) pid = payment_parser.get_id() p_role = payment_parser.get_payment_method_role() p_name = payment_parser.get_payment_method_name() p_type = payment_parser.get_payment_method_type() # Get the class for this payment, must be either VenmoBalance or BankAccount payment_class = payment_type[p_type] return payment_class(pid=pid, p_role=p_role, p_name=p_name, p_type=p_type)
def from_json(cls, json: Dict): payment_parser = JSONSchema.payment_method(json) pid = payment_parser.get_id() p_role = payment_parser.get_payment_method_role() p_name = payment_parser.get_payment_method_name() p_type = payment_parser.get_payment_method_type() # Get the class for this payment, must be either VenmoBalance or BankAccount payment_class = payment_type.get(p_type) if not payment_class: logging.warning(f"Skipped a payment_method; No schema existed for the payment_method: {p_type}") return return payment_class(pid=pid, p_role=p_role, p_name=p_name, p_type=p_type)