33from mindee .documents .base import Document , TypeApiPrediction , clean_out_string
44from mindee .fields .amount import AmountField
55from mindee .fields .date import DateField
6- from mindee .fields .orientation import OrientationField
7- from mindee .fields .position import Position
6+ from mindee .fields .position import PositionField
87from mindee .fields .text import TextField
98
109
@@ -21,13 +20,10 @@ class BankCheckV1(Document):
2120 """Payer's bank account routing number"""
2221 account_number : TextField
2322 """Payer's bank account number"""
24- check_position : Position
23+ check_position : PositionField
2524 """Check's position in the image"""
26- signatures_positions : List [Position ]
25+ signatures_positions : List [PositionField ]
2726 """Signatures' positions in the image"""
28- # orientation is only present on page-level, not document-level
29- orientation : Optional [OrientationField ] = None
30- """Page orientation"""
3127
3228 def __init__ (
3329 self ,
@@ -49,6 +45,7 @@ def __init__(
4945 api_prediction = api_prediction ,
5046 page_n = page_n ,
5147 )
48+ self ._build_from_api_prediction (api_prediction ["prediction" ], page_n = page_n )
5249
5350 def _build_from_api_prediction (
5451 self , api_prediction : TypeApiPrediction , page_n : Optional [int ] = None
@@ -59,11 +56,6 @@ def _build_from_api_prediction(
5956 :param api_prediction: Raw prediction from HTTP response
6057 :param page_n: Page number for multi pages pdf input
6158 """
62- if page_n is not None :
63- self .orientation = OrientationField (
64- api_prediction ["orientation" ], page_n = page_n
65- )
66-
6759 self .routing_number = TextField (api_prediction ["routing_number" ], page_n = page_n )
6860 self .account_number = TextField (api_prediction ["account_number" ], page_n = page_n )
6961 self .check_number = TextField (api_prediction ["check_number" ], page_n = page_n )
@@ -72,9 +64,11 @@ def _build_from_api_prediction(
7264 self .payees = [
7365 TextField (payee , page_n = page_n ) for payee in api_prediction ["payees" ]
7466 ]
75- self .check_position = Position (api_prediction ["check_position" ], page_n = page_n )
67+ self .check_position = PositionField (
68+ api_prediction ["check_position" ], page_n = page_n
69+ )
7670 self .signatures_positions = [
77- Position (signature_position , page_n = page_n )
71+ PositionField (signature_position , page_n = page_n )
7872 for signature_position in api_prediction ["signatures_positions" ]
7973 ]
8074
@@ -83,8 +77,8 @@ def __str__(self) -> str:
8377 [payee .value if payee .value is not None else "" for payee in self .payees ]
8478 )
8579 return clean_out_string (
86- "----- US Bank Check -----\n "
87- f"Filename: { self .filename or '' } " . rstrip () + " \n "
80+ "----- US Bank Check V1 -----\n "
81+ f"Filename: { self .filename or '' } \n "
8882 f"Routing number: { self .routing_number } \n "
8983 f"Account number: { self .account_number } \n "
9084 f"Check number: { self .check_number } \n "
0 commit comments