1+ from typing import Optional
12from mindee .fields .base import Field
23
34
45class Locale (Field ):
6+ language : Optional [str ] = None
7+ country : Optional [str ] = None
8+ currency : Optional [str ] = None
9+
510 def __init__ (
611 self , locale_prediction , value_key = "value" , reconstructed = False , page_n = None
712 ):
@@ -17,27 +22,25 @@ def __init__(
1722 reconstructed = reconstructed ,
1823 page_n = page_n ,
1924 )
25+ self .language = self ._get_value (locale_prediction , "language" )
26+ self .country = self ._get_value (locale_prediction , "country" )
27+ self .currency = self ._get_value (locale_prediction , "currency" )
2028
29+ @staticmethod
30+ def _get_value (locale_prediction , key : str ):
2131 if (
22- "language" not in locale_prediction .keys ()
32+ key not in locale_prediction .keys ()
2333 or locale_prediction ["language" ] == "N/A"
2434 ):
25- self .language = None
26- else :
27- self .language = locale_prediction ["language" ]
28-
29- if (
30- "country" not in locale_prediction .keys ()
31- or locale_prediction ["country" ] == "N/A"
32- ):
33- self .country = None
34- else :
35- self .country = locale_prediction ["country" ]
35+ return None
36+ return locale_prediction [key ]
3637
37- if (
38- "currency" not in locale_prediction .keys ()
39- or locale_prediction ["currency" ] == "N/A"
40- ):
41- self .currency = None
42- else :
43- self .currency = locale_prediction ["currency" ]
38+ def __str__ (self ) -> str :
39+ output_str = f"{ self .value } ; "
40+ if self .language is not None :
41+ output_str += self .language + "; "
42+ if self .country is not None :
43+ output_str += self .country + "; "
44+ if self .currency is not None :
45+ output_str += self .currency + "; "
46+ return output_str .strip ()
0 commit comments