Ejemplo n.º 1
0
    def test_recognized_form_to_dict(self):
        form = _models.RecognizedForm(
            form_type="test_form",
            form_type_confidence="0.84",
            model_id="examplemodel123",
            page_range=_models.FormPageRange(1, 1),
            fields={
                "example": _models.FormField(
                    value_type="phoneNumber",
                    label_data=_models.FieldData(
                        text="phone",
                        page_number=1,
                        bounding_box=[
                            _models.Point(1427.0, 1669.0),
                            _models.Point(1527.0, 1669.0),
                            _models.Point(1527.0, 1698.0),
                            _models.Point(1427.0, 1698.0),
                        ],
                    ),
                    value_data=_models.FieldData(
                        text="55554444",
                        page_number=1,
                        bounding_box=[
                            _models.Point(1427.0, 1669.0),
                            _models.Point(1527.0, 1669.0),
                            _models.Point(1527.0, 1698.0),
                            _models.Point(1427.0, 1698.0),
                        ],
                    ),
                    name="phone",
                    value="55554444",
                    confidence=0.99,
                )
            },
            pages=[_models.FormPage(
                page_number=1,
                text_angle=180.0,
                width=5.5,
                height=8.0,
                unit="pixel",
                lines=[_models.FormLine(
                        text="sample line",
                        bounding_box=[
                            _models.Point(1427.0, 1669.0),
                            _models.Point(1527.0, 1669.0),
                            _models.Point(1527.0, 1698.0),
                            _models.Point(1427.0, 1698.0),
                        ],
                        words=[
                            _models.FormWord(
                                text="sample",
                                confidence=0.92,
                                page_number=1,
                                bounding_box=[
                                    _models.Point(1427.0, 1669.0),
                                    _models.Point(1527.0, 1669.0),
                                    _models.Point(1527.0, 1698.0),
                                    _models.Point(1427.0, 1698.0),
                                ],
                            ),
                            _models.FormWord(
                                text="line",
                                confidence=0.92,
                                page_number=1,
                                bounding_box=[
                                    _models.Point(1427.0, 1669.0),
                                    _models.Point(1527.0, 1669.0),
                                    _models.Point(1527.0, 1698.0),
                                    _models.Point(1427.0, 1698.0),
                                ],
                            ),
                        ],
                        page_number=2,
                        appearance=_models.TextAppearance(
                            style_name="other", style_confidence=0.90
                        ),
                    )],
                )
            ]
        )

        d = form.to_dict()
        final = {
            "form_type": "test_form",
            "form_type_confidence": "0.84",
            "model_id": "examplemodel123",
            "page_range": {"first_page_number": 1, "last_page_number": 1},
            "fields": { 
                "example": {
                    "value_type": "phoneNumber",
                    "label_data": {
                        "text": "phone",
                        "bounding_box": [
                            {"x": 1427.0, "y": 1669.0},
                            {"x": 1527.0, "y": 1669.0},
                            {"x": 1527.0, "y": 1698.0},
                            {"x": 1427.0, "y": 1698.0},
                        ],
                        "page_number": 1,
                        "field_elements": []
                    },
                    "value_data": {
                        "text": "55554444",
                        "bounding_box": [
                            {"x": 1427.0, "y": 1669.0},
                            {"x": 1527.0, "y": 1669.0},
                            {"x": 1527.0, "y": 1698.0},
                            {"x": 1427.0, "y": 1698.0},
                        ],
                        "page_number": 1,
                        "field_elements": []
                    },
                    "name": "phone",
                    "value": "55554444",
                    "confidence": 0.99,
                }
            },
            "pages": [{
                "page_number": 1,
                "text_angle": 180.0,
                "width": 5.5,
                "height": 8.0,
                "unit": "pixel",
                "lines": [{
                    "text": "sample line",
                    "bounding_box": [
                        {"x": 1427.0, "y": 1669.0},
                        {"x": 1527.0, "y": 1669.0},
                        {"x": 1527.0, "y": 1698.0},
                        {"x": 1427.0, "y": 1698.0},
                    ],
                    "words": [
                        {
                            "text": "sample",
                            "bounding_box": [
                                {"x": 1427.0, "y": 1669.0},
                                {"x": 1527.0, "y": 1669.0},
                                {"x": 1527.0, "y": 1698.0},
                                {"x": 1427.0, "y": 1698.0},
                            ],
                            "confidence": 0.92,
                            "page_number": 1,
                            "kind": "word",
                        },
                        {
                            "text": "line",
                            "bounding_box": [
                                {"x": 1427.0, "y": 1669.0},
                                {"x": 1527.0, "y": 1669.0},
                                {"x": 1527.0, "y": 1698.0},
                                {"x": 1427.0, "y": 1698.0},
                            ],
                            "confidence": 0.92,
                            "page_number": 1,
                            "kind": "word",
                        },
                    ],
                    "page_number": 2,
                    "kind": "line",
                    "appearance": {"style_name": "other", "style_confidence": 0.90},
                }],    
                "selection_marks": [],
                "tables": [],
            }],
        }
        assert d == final
Ejemplo n.º 2
0
def page_range():
    model = _models.FormPageRange(first_page_number=1, last_page_number=100)
    model_repr = "FormPageRange(first_page_number=1, last_page_number=100)"
    assert repr(model) == model_repr
    return model, model_repr