1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2025-01-14 14:43:17 +08:00

adding jpeg metadata parsing test

This commit is contained in:
Braun Patrik 2017-07-15 21:04:41 +02:00
parent 4883c29028
commit f7136c7271
6 changed files with 51 additions and 6 deletions

View File

@ -43,15 +43,17 @@ export class DiskMangerWorker {
try {
fs.stat(fullPath, (err, data) => {
metadata.fileSize = data.size;
});
try {
const stat = fs.statSync(fullPath);
metadata.fileSize = stat.size;
} catch (err) {
}
try {
const exif = exif_parser.create(data).parse();
metadata.cameraData = <CameraMetadata> {
ISO: exif.tags.ISO,
model: exif.tags.Model,
model: exif.tags.Model.toString("utf8"),
make: exif.tags.Make,
fStop: exif.tags.FNumber,
exposure: exif.tags.ExposureTime,
@ -100,7 +102,6 @@ export class DiskMangerWorker {
Logger.info(LOG_TAG, "Error parsing iptc data", fullPath);
}
return resolve(metadata);
} catch (err) {
return reject({file: fullPath, error: err});

View File

@ -97,7 +97,6 @@ export class GalleryLightboxComponent implements OnDestroy {
activePhotoId: number = null;
private showPhoto(photoIndex: number, resize: boolean = true) {
console.log("showing photo");
this.activePhoto = null;
this.changeDetector.detectChanges();
this.updateActivePhoto(photoIndex, resize);

View File

@ -55,6 +55,7 @@
"@angular/platform-browser-dynamic": "~4.3.0",
"@angular/router": "~4.3.0",
"@types/bcryptjs": "^2.4.0",
"@types/chai": "^4.0.1",
"@types/express": "^4.0.36",
"@types/express-session": "1.15.1",
"@types/gm": "^1.17.31",

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -0,0 +1,44 @@
import {expect} from "chai";
import {DiskMangerWorker} from "../../../../../backend/model/threading/DiskMangerWorker";
import * as path from "path";
import {Config} from "../../../../../common/config/private/Config";
import {ProjectPath} from "../../../../../backend/ProjectPath";
describe('DiskMangerWorker', () => {
it('should call next on authenticated', async () => {
Config.Server.imagesFolder = path.join(__dirname, "/../../assets");
ProjectPath.ImageFolder = path.join(__dirname, "/../../assets");
const dir = await DiskMangerWorker.scanDirectory("/");
console.log(dir.photos[0].metadata);
expect(dir.photos.length).to.be.equals(1);
expect(dir.photos[0].name).to.be.equals("test image öüóőúéáű-.,.jpg");
expect(dir.photos[0].metadata.keywords).to.deep.equals(['Berkley,USA']);
expect(dir.photos[0].metadata.fileSize).to.deep.equals(57172);
expect(dir.photos[0].metadata.size).to.deep.equals({width: 140, height: 93});
expect(dir.photos[0].metadata.cameraData).to.deep.equals({
ISO: 3200,
model: 'óüöúőűáé ÓÜÖÚŐŰÁÉ',
make: 'Canon',
fStop: 5.6,
exposure: 0.00125,
focalLength: 85,
lens: 'EF-S15-85mm f/3.5-5.6 IS USM'
});
expect(dir.photos[0].metadata.positionData).to.deep.equals({
GPSData: {
latitude: 37.871093333333334,
longitude: -122.25678,
altitude: 102.4498997995992
},
country: 'óüöúőűáé ÓÜÖÚŐŰÁÉ',
state: 'óüöúőűáé ÓÜÖÚŐŰÁÉ',
city: 'óüöúőűáé ÓÜÖÚŐŰÁÉ'
});
expect(dir.photos[0].metadata.creationDate).to.be.equals(1436610566000);
});
});