added delete

This commit is contained in:
Askill 2020-05-11 19:24:50 +02:00
parent 9e5d0bf889
commit 94d1c1156f
6 changed files with 41 additions and 14 deletions

View File

@ -38,6 +38,7 @@ class PersonList(Resource):
for x in data: for x in data:
arr.append(x.serialize()) arr.append(x.serialize())
session.close() session.close()
fr.initFaceRec()
return flask.make_response(flask.jsonify({'data': arr}), 201) return flask.make_response(flask.jsonify({'data': arr}), 201)
except Exception as e: except Exception as e:

View File

@ -20,8 +20,6 @@ def initFaceRec():
dlib.DLIB_USE_CUDA=True dlib.DLIB_USE_CUDA=True
print('Loading known faces...', dlib.DLIB_USE_CUDA) print('Loading known faces...', dlib.DLIB_USE_CUDA)
session = Session() session = Session()
# We oranize known faces as subfolders of KNOWN_FACES_DIR
# Each subfolder's name becomes our label (name)
for face, name in session.query(Person.face, Person.person_id).all(): for face, name in session.query(Person.face, Person.person_id).all():
# Load an image # Load an image
nparr = np.fromstring(base64.b64decode(face), np.uint8) nparr = np.fromstring(base64.b64decode(face), np.uint8)
@ -41,7 +39,7 @@ def identifyFace(image):
print('Identifying Face') print('Identifying Face')
nparr = np.fromstring(base64.b64decode(image), np.uint8) nparr = np.fromstring(base64.b64decode(image), np.uint8)
image = cv2.imdecode(nparr, cv2.IMREAD_COLOR) image = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
#image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
locations = face_recognition.face_locations(image, model=MODEL) locations = face_recognition.face_locations(image, model=MODEL)
encodings = face_recognition.face_encodings(image, locations) encodings = face_recognition.face_encodings(image, locations)

View File

@ -44,3 +44,16 @@ function postJSON(url, data, callback, fallback) {
}; };
xhr.send(data); xhr.send(data);
}; };
function deleteJSON(url, callback, fallback) {
var xhr = new XMLHttpRequest();
xhr.open('DELETE', url, false);
xhr.onload = function () {
var status = xhr.status;
if (status < 400) {
callback(null, xhr.response);
} else {
fallback();
}
};
xhr.send();
};

View File

@ -44,6 +44,7 @@
width: 9rem; width: 9rem;
margin:0; margin:0;
padding:0; padding:0;
overflow: auto;
} }
.card{ .card{
margin-top:1rem; margin-top:1rem;
@ -76,7 +77,10 @@
width:100%; width:100%;
} }
.card-text{
overflow: contain;
display: block;
}
.heroInfo{ .heroInfo{
} }
@ -94,6 +98,11 @@
padding:0; padding:0;
} }
#middle-right .listIMG{ #middle-right .listIMG{
width: 10rem; width: 15rem;
float: left; float: left;
} }
.btn-delete{
float: right;
margin-top: 5px;
}

View File

@ -4,7 +4,7 @@ selected = null
var ml = document.getElementById('middle-left'); var ml = document.getElementById('middle-left');
var mr = document.getElementById('middle-right'); var mr = document.getElementById('middle-right');
personData = {} personData = {}
state = null
/** /**
* Retrieves input data from a form and returns it as a JSON object. * Retrieves input data from a form and returns it as a JSON object.
* @param {HTMLFormControlsCollection} elements the form elements * @param {HTMLFormControlsCollection} elements the form elements
@ -25,7 +25,7 @@ function focusPerson(id) {
selected = id; selected = id;
$("#person" + id).removeClass('border-light').siblings().addClass('border-light') $("#person" + id).removeClass('border-light').siblings().addClass('border-light')
$("#person" + id).addClass('border-success').siblings().removeClass('border-success') $("#person" + id).addClass('border-success').siblings().removeClass('border-success')
renderPersonRight()
} }
function loadPersonList(data) { function loadPersonList(data) {
@ -44,8 +44,7 @@ function loadPersonList(data) {
<div class="personalInfo"> <div class="personalInfo">
Gender: ${item["gender"]} <br> Gender: ${item["gender"]} <br>
YoB: ${item["yob"]} <br> YoB: ${item["yob"]} <br>
Available FP: ${item["fingerprints"].length} <br> <button type="button" class="btn btn-danger btn-delete" onclick="deletePerson(${item["person_id"]})">Delete</button>
</div> </div>
</p> </p>
@ -137,3 +136,10 @@ function loadData() {
); );
} }
function deletePerson(id){
deleteJSON(rootKontext + "/api/v1/person/"+id,
function(){
location.reload()
},
null)
}

Binary file not shown.