Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 16c619e

Browse files
Merge pull request #205 from regulaforensics/fix/SP-22413
SP-22413 - Fix authenticity
2 parents 04c0c1a + da6a23e commit 16c619e

31 files changed

+289
-99
lines changed

‎.openapi-generator/FILES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ regula/documentreader/webclient/gen/models/out_data.py
135135
regula/documentreader/webclient/gen/models/out_data_transaction_images_field_value.py
136136
regula/documentreader/webclient/gen/models/p_array_field.py
137137
regula/documentreader/webclient/gen/models/parsed_data.py
138+
regula/documentreader/webclient/gen/models/parsing_error_codes.py
138139
regula/documentreader/webclient/gen/models/parsing_notification_codes.py
139140
regula/documentreader/webclient/gen/models/per_document_config.py
140141
regula/documentreader/webclient/gen/models/photo_ident_item.py

‎README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ with open("australia_passport.jpg", "rb") as f:
3939

4040
with DocumentReaderApi(host='http://localhost:8080') as api:
4141
params = ProcessParams(
42-
scenario=Scenario.FULL_PROCESS,
42+
scenario=Scenario.FULLPROCESS,
4343
result_type_output=[Result.DOCUMENT_IMAGE, Result.STATUS, Result.TEXT, Result.IMAGES]
4444
)
4545
request = RecognitionRequest(process_params=params, images=[input_image])

‎example/example.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@
6363
# if FULL_PROCESS then auth is None
6464

6565
doc_ir_b900_blank = doc_ir_b900.checks_by_element(SecurityFeatureType.BLANK) \
66-
if doc_authenticity is not None else None
66+
if doc_ir_b900 is not None else None
6767

6868
doc_image_pattern = doc_authenticity.image_pattern_checks \
6969
if doc_authenticity is not None else None
7070

7171
doc_image_pattern_blank = doc_image_pattern.checks_by_element(SecurityFeatureType.BLANK) \
72-
if doc_authenticity is not None else None
72+
if doc_image_pattern is not None else None
7373

7474
# images fields example
7575
document_image = response.images.get_field(GraphicFieldType.DOCUMENT_FRONT).get_value()

‎regula/documentreader/webclient/ext/models/authenticity/authenticity_check_list.py

Lines changed: 45 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,77 +14,107 @@ class AuthenticityCheckList(GenAuthenticityCheckList):
1414
@property
1515
def uv_luminescence_checks(self) -> Optional[SecurityFeatureChecks]:
1616
result = self.__result_by_type(AuthenticityResultType.UV_LUMINESCENCE)
17-
return SecurityFeatureChecks.from_dict(result.to_dict())
17+
if result:
18+
return SecurityFeatureChecks.from_json(result.to_json())
19+
return None
1820

1921
@property
2022
def ir_b900_checks(self) -> Optional[SecurityFeatureChecks]:
2123
result = self.__result_by_type(AuthenticityResultType.IR_B900)
22-
return SecurityFeatureChecks.from_dict(result.to_dict())
24+
if result:
25+
return SecurityFeatureChecks.from_json(result.to_json())
26+
return None
2327

2428
@property
2529
def image_pattern_checks(self) -> Optional[IdentChecks]:
2630
result = self.__result_by_type(AuthenticityResultType.IMAGE_PATTERN)
27-
return IdentChecks.from_dict(result.to_dict())
31+
if result:
32+
return IdentChecks.from_json(result.to_json())
33+
return None
2834

2935
@property
3036
def axial_protection_checks(self) -> Optional[SecurityFeatureChecks]:
3137
result = self.__result_by_type(AuthenticityResultType.AXIAL_PROTECTION)
32-
return SecurityFeatureChecks.from_dict(result.to_dict())
38+
if result:
39+
return SecurityFeatureChecks.from_json(result.to_json())
40+
return None
3341

3442
@property
3543
def uv_fiber_checks(self) -> Optional[FiberChecks]:
3644
result = self.__result_by_type(AuthenticityResultType.UV_FIBERS)
37-
return FiberChecks.from_dict(result.to_dict())
45+
if result:
46+
return FiberChecks.from_json(result.to_json())
47+
return None
3848

3949
@property
4050
def ir_visibility_checks(self) -> Optional[IdentChecks]:
4151
result = self.__result_by_type(AuthenticityResultType.IR_VISIBILITY)
42-
return IdentChecks.from_dict(result.to_dict())
52+
if result:
53+
return IdentChecks.from_json(result.to_json())
54+
return None
4355

4456
@property
4557
def ocr_security_text_checks(self) -> Optional[OCRSecurityTextChecks]:
4658
result = self.__result_by_type(AuthenticityResultType.OCR_SECURITY_TEXT)
47-
return OCRSecurityTextChecks.from_dict(result.to_dict())
59+
if result:
60+
return OCRSecurityTextChecks.from_json(result.to_json())
61+
return None
4862

4963
@property
5064
def ipi_checks(self) -> Optional[ImageIdentChecks]:
5165
result = self.__result_by_type(AuthenticityResultType.IPI)
52-
return ImageIdentChecks.from_dict(result.to_dict())
66+
if result:
67+
return ImageIdentChecks.from_json(result.to_json())
68+
return None
5369

5470
@property
5571
def embed_image_checks(self) -> Optional[SecurityFeatureChecks]:
5672
result = self.__result_by_type(AuthenticityResultType.PHOTO_EMBED_TYPE)
57-
return SecurityFeatureChecks.from_dict(result.to_dict())
73+
if result:
74+
return SecurityFeatureChecks.from_json(result.to_json())
75+
return None
5876

5977
@property
6078
def holograms_checks(self) -> Optional[SecurityFeatureChecks]:
6179
result = self.__result_by_type(AuthenticityResultType.HOLOGRAMS)
62-
return SecurityFeatureChecks.from_dict(result.to_dict())
80+
if result:
81+
return SecurityFeatureChecks.from_json(result.to_json())
82+
return None
6383

6484
@property
6585
def photo_area_checks(self) -> Optional[SecurityFeatureChecks]:
6686
result = self.__result_by_type(AuthenticityResultType.PHOTO_AREA)
67-
return SecurityFeatureChecks.from_dict(result.to_dict())
87+
if result:
88+
return SecurityFeatureChecks.from_json(result.to_json())
89+
return None
6890

6991
@property
7092
def portrait_comparison_checks(self) -> Optional[IdentChecks]:
7193
result = self.__result_by_type(AuthenticityResultType.PORTRAIT_COMPARISON)
72-
return IdentChecks.from_dict(result.to_dict())
94+
if result:
95+
return IdentChecks.from_json(result.to_json())
96+
return None
7397

7498
@property
7599
def barcode_format_checks(self) -> Optional[SecurityFeatureChecks]:
76100
result = self.__result_by_type(AuthenticityResultType.BARCODE_FORMAT_CHECK)
77-
return SecurityFeatureChecks.from_dict(result.to_dict())
101+
if result:
102+
return SecurityFeatureChecks.from_json(result.to_json())
103+
return None
78104

79105
@property
80106
def kinegram_checks(self) -> Optional[IdentChecks]:
81107
result = self.__result_by_type(AuthenticityResultType.KINEGRAM)
82-
return IdentChecks.from_dict(result.to_dict())
108+
if result:
109+
return IdentChecks.from_json(result.to_json())
110+
return None
83111

84112
@property
85113
def letter_screen_checks(self) -> Optional[IdentChecks]:
86114
result = self.__result_by_type(AuthenticityResultType.LETTER_SCREEN)
87-
return IdentChecks.from_dict(result.to_dict())
115+
if result:
116+
return IdentChecks.from_json(result.to_json())
117+
return None
88118

89119
def __result_by_type(self, authenticity_type: int) -> Optional[AuthenticityCheckResult]:
90120
for result in self.list:
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
from typing import List
1+
from typing import List, cast
22

33
from regula.documentreader.webclient.gen.models import FiberResult, AuthenticityCheckResult
44

55

66
class FiberChecks(AuthenticityCheckResult):
77

88
@property
9-
def list(self) -> List[FiberResult]:
10-
# noinspection PyTypeChecker
11-
return super().list
9+
def checks_list(self) -> List[FiberResult]:
10+
fiber_list: List[FiberResult] =cast(List[FiberResult], self.list)
11+
return fiber_list
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
from typing import List
1+
from typing import List, cast
22

33
from regula.documentreader.webclient.gen.models import AuthenticityCheckResult, IdentResult
44

55

66
class IdentChecks(AuthenticityCheckResult):
77

88
@property
9-
def list(self) -> List[IdentResult]:
10-
# noinspection PyTypeChecker
11-
return self.list
9+
def checks_list(self) -> List[IdentResult]:
10+
ident_list: List[IdentResult] =cast(List[IdentResult], self.list)
11+
return ident_list
1212

1313
# element_type is SecurityFeatureType
1414
def checks_by_element(self, element_type: int) -> List[IdentResult]:
15-
return [check for check in self.list if check.element_type == element_type]
15+
return [check for check in self.checks_list if check.element_type == element_type]
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
from typing import List
1+
from typing import List, cast
22

33
from regula.documentreader.webclient.gen.models import AuthenticityCheckResult, PhotoIdentResult
44

55

66
class ImageIdentChecks(AuthenticityCheckResult):
77

88
@property
9-
def list(self) -> List[PhotoIdentResult]:
10-
# noinspection PyTypeChecker
11-
return self.list
9+
def checks_list(self) -> List[PhotoIdentResult]:
10+
image_ident_list: List[PhotoIdentResult] =cast(List[PhotoIdentResult], self.list)
11+
return image_ident_list
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
from typing import List
1+
from typing import List, cast
22

33
from regula.documentreader.webclient.gen.models import AuthenticityCheckResult, OCRSecurityTextResult
44

55

66
class OCRSecurityTextChecks(AuthenticityCheckResult):
77

88
@property
9-
def list(self) -> List[OCRSecurityTextResult]:
10-
# noinspection PyTypeChecker
11-
return self.list
9+
def checks_list(self) -> List[OCRSecurityTextResult]:
10+
ocr_security_text_list: List[OCRSecurityTextResult] =cast(List[OCRSecurityTextResult], self.list)
11+
return ocr_security_text_list
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
from typing import List, Optional
1+
from typing import List, cast
22

33
from regula.documentreader.webclient.gen.models import AuthenticityCheckResult, SecurityFeatureResult
44

55

66
class SecurityFeatureChecks(AuthenticityCheckResult):
77

88
@property
9-
def list(self) -> List[SecurityFeatureResult]:
10-
# noinspection PyTypeChecker
11-
return self.list
9+
def checks_list(self) -> List[SecurityFeatureResult]:
10+
security_feature_list: List[SecurityFeatureResult] =cast(List[SecurityFeatureResult], self.list)
11+
return security_feature_list
1212

1313
# element_type is SecurityFeatureType
1414
def checks_by_element(self, element_type: int) -> List[SecurityFeatureResult]:
15-
return [check for check in self.list if check.element_type == element_type]
15+
return [check for check in self.checks_list if check.element_type == element_type]

‎regula/documentreader/webclient/ext/models/images.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ class Images(GenImages):
3333
def get_field(self, field_type: int) -> Optional[ImagesField]:
3434
for field in self.field_list:
3535
if field.field_type == field_type:
36-
return ImagesField.from_dict(field.to_dict())
36+
return ImagesField.from_json(field.to_json())
3737
return None
3838

3939
def get_fields(self, field_type: int) -> List[ImagesField]:
40-
return [ImagesField.from_dict(field.to_dict()) for field in self.field_list if field.field_type == field_type]
40+
return [ImagesField.from_json(field.to_json()) for field in self.field_list if field.field_type == field_type]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /