Skip to content

Commit 3df467d

Browse files
new: ✨ added payment_detail field
1 parent ccea204 commit 3df467d

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

mindee/fields/payment_details.py

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
from mindee.fields import Field
2+
3+
4+
class PaymentDetails(Field):
5+
def __init__(
6+
self,
7+
payment_details_prediction,
8+
value_key="iban",
9+
account_number_key="account_number",
10+
iban_key="iban",
11+
routing_number_key="routing_number",
12+
swift_key="swift",
13+
reconstructed=False,
14+
page_n=None
15+
):
16+
"""
17+
:param payment_details_prediction: Payment detail prediction object from HTTP response
18+
:param value_key: Corresponds to iban
19+
:param account_number_key: Key to use for getting the account number in the payment_details_prediction dict
20+
:param iban_key: Key to use for getting the IBAN in the payment_details_prediction dict
21+
:param routing_number_key: Key to use for getting the Routing number in the payment_details_prediction dict
22+
:param swift_key: Key to use for getting the SWIFT in the payment_details_prediction dict
23+
:param reconstructed: Bool for reconstructed object (not extracted in the API)
24+
:param page_n: Page number for multi pages pdf
25+
"""
26+
super(PaymentDetails, self).__init__(
27+
payment_details_prediction,
28+
value_key=value_key,
29+
reconstructed=reconstructed,
30+
page_n=page_n
31+
)
32+
33+
self.account_number_key = None
34+
self.iban_key = None
35+
self.routing_number_key = None
36+
self.swift_key = None
37+
38+
try:
39+
assert type(payment_details_prediction[account_number_key]) == str
40+
self.account_number = str(payment_details_prediction[account_number_key])
41+
if self.account_number == "N/A":
42+
self.account_number = None
43+
except:
44+
self.account_number = None
45+
46+
try:
47+
assert type(payment_details_prediction[iban_key]) == str
48+
self.iban = str(payment_details_prediction[iban_key])
49+
if self.iban == "N/A":
50+
self.iban = None
51+
except:
52+
self.iban = None
53+
54+
try:
55+
assert type(payment_details_prediction[routing_number_key]) == str
56+
self.routing_number = str(payment_details_prediction[routing_number_key])
57+
if self.routing_number == "N/A":
58+
self.routing_number = None
59+
except:
60+
self.routing_number = None
61+
62+
try:
63+
assert type(payment_details_prediction[swift_key]) == str
64+
self.swift = str(payment_details_prediction[swift_key])
65+
if self.swift == "N/A":
66+
self.swift = None
67+
except:
68+
self.swift = None
69+
70+
def __str__(self):
71+
payment_str = ""
72+
if self.account_number is not None:
73+
payment_str += str(self.account_number)+"; "
74+
75+
if self.iban is not None:
76+
payment_str += str(self.iban)+"; "
77+
78+
if self.routing_number is not None:
79+
payment_str += str(self.routing_number)+"; "
80+
81+
if self.swift is not None:
82+
payment_str += str(self.swift)+"; "
83+
84+
return payment_str
85+
86+

0 commit comments

Comments
 (0)