Esempio n. 1
0
def autoChecker(text):
    text = ''.join(text.split(' '))
    data = None
    t = None
    try:
        data = TD1CodeChecker(text)
        t = 'td1'
    except:
        try:
            data = TD2CodeChecker(text)
            t = 'td2'
        except:
            try:
                data = TD3CodeChecker(text)
                t = 'td3'
            except:
                try:
                    data = MRVACodeChecker(text)
                    t = 'mrva'
                except:
                    try:
                        data = MRVBCodeChecker(text)
                        t = 'mrvb'
                    except:
                        print(" Error : MRZ valide")
    return data, t
Esempio n. 2
0
    def test_td1_checker(self):
        mrz_td1 = ("IDLIEID98754015<<<<<<<<<<<<<<<\n"
                   "8205122M1906224LIE<<<<<<<<<<<6\n"
                   "OSPELT<BECK<<MARISA<<<<<<<<<<<")
        td1_check = TD1CodeChecker(mrz_td1)

        self.assertTrue(bool(td1_check))
Esempio n. 3
0
    def test_td1_checker(self):
        mrz_td1 = ("IDSRB95555554612902968000000<<\n"
                   "6802295F1307245SRB<<<<<<<<<<<6\n"
                   "TEST<<MILICA<<<<<<<<<<<<<<<<<<")
        td1_check = TD1CodeChecker(mrz_td1)

        self.assertTrue(bool(td1_check))
Esempio n. 4
0
    def test_b_td1_checker(self):
        # WARNINGS 2:

        mrz_code = ("IDSRB95555554612902968000000<<\n"
                    "6802295F1907245SRB<<<<<<<<<<<6\n"
                    "TEST<<<<<<<<<<<<<<<<<<<<<<<<<<")

        test = TD1CodeChecker(mrz_code, check_expiry=True)

        warnings = ['document expired', 'only one identifier']

        self.assertListEqual(warnings, test.report.warnings)
Esempio n. 5
0
    def test_a_td1_checker(self):
        # WARNINGS 1:

        mrz_code = ("IDSRB95555554612902968000000<<\n"
                    "6802295F5007245SRB<<<<<<<<<<<6\n"
                    "DR<TEST<TEST<<MILICA<MILICAAAA")

        test = TD1CodeChecker(mrz_code, check_expiry=True)

        warnings = [
            'expiry date greater than 10 years', 'possible truncating',
            'Possible not recommended prefix or suffix in identifier'
        ]

        self.assertListEqual(warnings, test.report.warnings)
Esempio n. 6
0
    def test_td1_checker(self):
        mrz_code = ("IDESPBAA000589599999999R<<<<<<\n"
                    "8001014F2501017ESP<<<<<<<<<<<7\n"
                    "ESPANOLA<ESPANOLA<<CARMEN<<<<<")
        td1_check = TD1CodeChecker(mrz_code)

        fields = td1_check.fields()
        self.assertEqual("ESPANOLA ESPANOLA", fields.surname)
        self.assertEqual("CARMEN", fields.name)
        self.assertEqual("ESP", fields.country)
        self.assertEqual("Spain", get_country(fields.country))
        self.assertEqual("ESP", fields.nationality)
        self.assertEqual("Spain", get_country(fields.nationality))
        self.assertEqual("800101", fields.birth_date)
        self.assertEqual("250101", fields.expiry_date)
        self.assertEqual("F", fields.sex)
        self.assertEqual("ID", fields.document_type)
        self.assertEqual("BAA000589", fields.document_number)
        self.assertEqual("99999999R", fields.optional_data)
        self.assertEqual("4", fields.birth_date_hash)
        self.assertEqual("7", fields.expiry_date_hash)
        self.assertEqual("5", fields.document_number_hash)
        self.assertEqual("7", fields.final_hash)
        self.assertEqual("", fields.optional_data_2)
Esempio n. 7
0
#!/usr/bin/python3
# -*- coding UTF-8 -*-

from mrz.checker.td1 import TD1CodeChecker

mrz_td1 = ("IDLIEID98754015<<<<<<<<<<<<<<<\n"
           "8205122M1906224LIE<<<<<<<<<<<6\n"
           "OSPELT<BECK<<MARISA<<<<<<<<<<<")

td1_check = TD1CodeChecker(mrz_td1)

if bool(td1_check) == False:
    print(td1_check.report_falses)
Esempio n. 8
0
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

# Adding mrz to PYTHONPATH to execute this example as script
from os.path import dirname, join, pardir, realpath
import sys
sys.path.append(realpath(join(dirname(__file__), pardir, pardir)))
#############################################################

from mrz.checker.td1 import TD1CodeChecker

print(
    bool(
        TD1CodeChecker("I<SWE59000002<8198703142391<<<\n"
                       "8703145M1701027SWE<<<<<<<<<<<8\n"
                       "SPECIMEN<<SVEN<<<<<<<<<<<<<<<<")))
Esempio n. 9
0
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

# Note for end users: #######################################################################
#
# Adding mrz (local) to PYTHONPATH to execute this example as a script without installing mrz
# (if it was installed using pip or setup.py the three lines below are not necessary)
from os.path import dirname, join, pardir, realpath
import sys
sys.path.append(realpath(join(dirname(__file__), pardir, pardir)))
##############################################################################################

from mrz.checker.td1 import TD1CodeChecker

print(TD1CodeChecker("IDESPBAA000589599999999R<<<<<<\n"
                     "8001014F2501017ESP<<<<<<<<<<<7\n"
                     "ESPANOLA<ESPANOLA<<CARMEN<<<<<"))

Esempio n. 10
0
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

from mrz.checker.td1 import TD1CodeChecker


def print_report(checker: TD1CodeChecker):
    print("REPORT")
    for r in checker.report:
        print(r[0] + ":" + str(r[1]).rjust(30 - len(r[0])))
    print("\nResult:" + str(td1_check).rjust(24).upper())


mrz_td1 = ("I<LVAPA99929216121282<88882<<<\n"
           "8212122M1703054LVA<<<<<<<<<<<0\n"
           "PARAUDZINS<<ANDRIS<<<<<<<<<<<<")

td1_check = TD1CodeChecker(mrz_td1,
                           check_expiry=True)  # Check expiry date as warning
# Expiry Date = 170305
print_report(
    td1_check)  # TRUE    td1_check.report_warnings = ['document expired']

td1_check = TD1CodeChecker(mrz_td1, check_expiry=True,
                           compute_warnings=True)  # Compute warnings as False
# Expiry Date = 170305
print_report(td1_check)  # FALSE
Esempio n. 11
0
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

from mrz.checker.td1 import TD1CodeChecker

mrz_td1 = ("I<MCO029067<<<0<<<<<<<<<<<<<<<\n"
           "9901018F0903248MCO<<<<<<<<<<<0\n"
           "SPECIMEN<<SPECIMEN<<<<<<<<<<<<")

td1_check = TD1CodeChecker(mrz_td1)

print("".ljust(35, "="))
print(td1_check.mrz_code)
print("\n")
print("Result:", bool(td1_check))
print("Falses:", td1_check.report_falses)
print("Warnings:", td1_check.report_warnings)
print("".ljust(35, "="))
print(td1_check.mrz_code)
print("\n")

td1_check = TD1CodeChecker(mrz_td1, check_expiry=True, compute_warnings=True)
print("Result:", bool(td1_check))
print("Falses:", td1_check.report_falses)
print("Warnings:", td1_check.report_warnings)
Esempio n. 12
0
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

# Adding mrz path to PYTHONPATH to execute the example as script
from os.path import dirname, join, pardir, realpath
import sys
sys.path.append(realpath(join(dirname(__file__), pardir, pardir)))
##################################################################

from mrz.generator.td1 import TD1CodeGenerator
from mrz.checker.td1 import TD1CodeChecker
import examples.functions.functions as functions

mrz = str(TD1CodeGenerator("I", "LTU", "11810187", "201123", "F", "300101", "LTU", "BASANAVIČIENĖ", "BIRUTĖ",
                           "46411231034"))

td1_check = TD1CodeChecker(mrz)
print(td1_check)

td1_check = TD1CodeChecker(mrz, check_expiry=True)
if not bool(td1_check):
    print("FALSE:")
    print(td1_check.report_falses)

functions.open_image("id_cards", "Lithuania.png")