mirror of
https://github.com/azures04/crafatar.git
synced 2026-03-22 07:51:17 +01:00
Don't store helm image when user has no helm, fix #16
This commit is contained in:
parent
0734060d96
commit
040aeb1c0c
@ -3,6 +3,7 @@ var logging = require('./logging');
|
|||||||
var config = require('./config');
|
var config = require('./config');
|
||||||
var cache = require('./cache');
|
var cache = require('./cache');
|
||||||
var skins = require('./skins');
|
var skins = require('./skins');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
// 0098cb60-fa8e-427c-b299-793cbd302c9a
|
// 0098cb60-fa8e-427c-b299-793cbd302c9a
|
||||||
var valid_uuid = /^([0-9a-f-]{32,36}|[a-zA-Z0-9_]{1,16})$/; // uuid|username
|
var valid_uuid = /^([0-9a-f-]{32,36}|[a-zA-Z0-9_]{1,16})$/; // uuid|username
|
||||||
@ -106,7 +107,12 @@ exp.get_avatar = function(uuid, helm, size, callback) {
|
|||||||
logging.log("\nrequest: " + uuid);
|
logging.log("\nrequest: " + uuid);
|
||||||
exp.get_image_hash(uuid, function(err, status, hash) {
|
exp.get_image_hash(uuid, function(err, status, hash) {
|
||||||
if (hash) {
|
if (hash) {
|
||||||
var filepath = __dirname + '/../' + (helm ? config.helms_dir : config.faces_dir) + hash + ".png";
|
var facepath = __dirname + '/../' + config.faces_dir + hash + ".png";
|
||||||
|
var helmpath = __dirname + '/../' + config.helms_dir + hash + ".png";
|
||||||
|
var filepath = facepath;
|
||||||
|
if (helm && fs.existsSync(helmpath)) {
|
||||||
|
filepath = helmpath;
|
||||||
|
}
|
||||||
skins.resize_img(filepath, size, function(img_err, result) {
|
skins.resize_img(filepath, size, function(img_err, result) {
|
||||||
if (img_err) {
|
if (img_err) {
|
||||||
callback(img_err, -1, null);
|
callback(img_err, -1, null);
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
|
var logging = require('./logging');
|
||||||
var lwip = require('lwip');
|
var lwip = require('lwip');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
var exp = {};
|
var exp = {};
|
||||||
|
|
||||||
@ -28,7 +30,7 @@ exp.extract_face = function(buffer, outname, callback) {
|
|||||||
// result is saved to a file called +outname+
|
// result is saved to a file called +outname+
|
||||||
// +callback+ contains error
|
// +callback+ contains error
|
||||||
exp.extract_helm = function(facefile, buffer, outname, callback) {
|
exp.extract_helm = function(facefile, buffer, outname, callback) {
|
||||||
lwip.open(buffer, "png", function(err, skin) {
|
lwip.open(buffer, "png", function(err, skin_img) {
|
||||||
if (err) {
|
if (err) {
|
||||||
callback(err);
|
callback(err);
|
||||||
} else {
|
} else {
|
||||||
@ -36,7 +38,8 @@ exp.extract_helm = function(facefile, buffer, outname, callback) {
|
|||||||
if (err) {
|
if (err) {
|
||||||
callback(err);
|
callback(err);
|
||||||
} else {
|
} else {
|
||||||
skin.crop(40, 8, 47, 15, function(err, helm_img) {
|
face_img.toBuffer("png", {compression: "none"}, function(err, face_buffer) {
|
||||||
|
skin_img.crop(40, 8, 47, 15, function(err, helm_img) {
|
||||||
if (err) {
|
if (err) {
|
||||||
callback(err);
|
callback(err);
|
||||||
} else {
|
} else {
|
||||||
@ -44,18 +47,21 @@ exp.extract_helm = function(facefile, buffer, outname, callback) {
|
|||||||
if (err) {
|
if (err) {
|
||||||
callback(err);
|
callback(err);
|
||||||
} else {
|
} else {
|
||||||
|
face_helm_img.toBuffer("png", {compression: "none"}, function(err, face_helm_buffer) {
|
||||||
|
if (face_helm_buffer.toString() !== face_buffer.toString()) {
|
||||||
face_helm_img.writeFile(outname, function(err) {
|
face_helm_img.writeFile(outname, function(err) {
|
||||||
if (err) {
|
|
||||||
callback(err);
|
callback(err);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
|
logging.log("Helm image is the same as face image, not storing!");
|
||||||
callback(null);
|
callback(null);
|
||||||
// JavaScript callback hell <3
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user