File size: 2,173 Bytes
2cbace0
33e55aa
2cbace0
 
 
 
 
33e55aa
 
 
 
 
 
2cbace0
eaf93ad
 
2cbace0
eaf93ad
2cbace0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import sys
sys.path.append('.')

import os
import base64
import json


import glob, os
parent_dir = '.'
for pdf_file in glob.glob(os.path.join(parent_dir, '*.*')):
    print (pdf_file)

from flask import Flask, request, jsonify
#from idsdk import getMachineCode
#from idsdk import setActivation
from idsdk import initSDK
#from idsdk import idcardRecognition

licensePath = "license.txt"
license = ""

machineCode = getMachineCode()
print("machineCode: ", machineCode.decode('utf-8'))

try:
    with open(licensePath, 'r') as file:
        license = file.read()
except IOError as exc:
    print("failed to open license.txt: ", exc.errno)
print("license: ", license)

ret = setActivation(license.encode('utf-8'))
print("activation: ", ret)

ret = initSDK()
print("init: ", ret)

app = Flask(__name__) 

@app.route('/idcard_recognition', methods=['POST'])
def idcard_recognition():
    try:
        file = request.files['file']

        base64_image = base64.b64encode(file.read()).decode('utf-8')
        ret = idcardRecognition(base64_image.encode('utf-8'))

        if ret != None:
            j = json.loads(ret)
            j.update({"Status": "Ok"})
            response = jsonify(j)
        else:
            response = jsonify({"Status": "Error"})
    except:
        response = jsonify({"Status": "Error"})

    response.status_code = 200
    response.headers["Content-Type"] = "application/json; charset=utf-8"
    return response

@app.route('/idcard_recognition_base64', methods=['POST'])
def idcard_recognition_base64():
    try:
        content = request.get_json()
        base64_image = content['base64']

        ret = idcardRecognition(base64_image.encode('utf-8'))

        if ret != None:
            j = json.loads(ret)
            j.update({"Status": "Ok"})
            response = jsonify(j)
        else:
            response = jsonify({"Status": "Error"})
    except:
        response = jsonify({"Status": "Error"})

    response.status_code = 200
    response.headers["Content-Type"] = "application/json; charset=utf-8"
    return response

if __name__ == '__main__':
    port = int(os.environ.get("PORT", 8080))
    app.run(host='0.0.0.0', port=port)