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:
parent
4883c29028
commit
f7136c7271
@ -43,15 +43,17 @@ export class DiskMangerWorker {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
fs.stat(fullPath, (err, data) => {
|
try {
|
||||||
metadata.fileSize = data.size;
|
const stat = fs.statSync(fullPath);
|
||||||
});
|
metadata.fileSize = stat.size;
|
||||||
|
} catch (err) {
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const exif = exif_parser.create(data).parse();
|
const exif = exif_parser.create(data).parse();
|
||||||
metadata.cameraData = <CameraMetadata> {
|
metadata.cameraData = <CameraMetadata> {
|
||||||
ISO: exif.tags.ISO,
|
ISO: exif.tags.ISO,
|
||||||
model: exif.tags.Model,
|
model: exif.tags.Model.toString("utf8"),
|
||||||
make: exif.tags.Make,
|
make: exif.tags.Make,
|
||||||
fStop: exif.tags.FNumber,
|
fStop: exif.tags.FNumber,
|
||||||
exposure: exif.tags.ExposureTime,
|
exposure: exif.tags.ExposureTime,
|
||||||
@ -100,7 +102,6 @@ export class DiskMangerWorker {
|
|||||||
Logger.info(LOG_TAG, "Error parsing iptc data", fullPath);
|
Logger.info(LOG_TAG, "Error parsing iptc data", fullPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return resolve(metadata);
|
return resolve(metadata);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return reject({file: fullPath, error: err});
|
return reject({file: fullPath, error: err});
|
||||||
|
@ -97,7 +97,6 @@ export class GalleryLightboxComponent implements OnDestroy {
|
|||||||
activePhotoId: number = null;
|
activePhotoId: number = null;
|
||||||
|
|
||||||
private showPhoto(photoIndex: number, resize: boolean = true) {
|
private showPhoto(photoIndex: number, resize: boolean = true) {
|
||||||
console.log("showing photo");
|
|
||||||
this.activePhoto = null;
|
this.activePhoto = null;
|
||||||
this.changeDetector.detectChanges();
|
this.changeDetector.detectChanges();
|
||||||
this.updateActivePhoto(photoIndex, resize);
|
this.updateActivePhoto(photoIndex, resize);
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
"@angular/platform-browser-dynamic": "~4.3.0",
|
"@angular/platform-browser-dynamic": "~4.3.0",
|
||||||
"@angular/router": "~4.3.0",
|
"@angular/router": "~4.3.0",
|
||||||
"@types/bcryptjs": "^2.4.0",
|
"@types/bcryptjs": "^2.4.0",
|
||||||
|
"@types/chai": "^4.0.1",
|
||||||
"@types/express": "^4.0.36",
|
"@types/express": "^4.0.36",
|
||||||
"@types/express-session": "1.15.1",
|
"@types/express-session": "1.15.1",
|
||||||
"@types/gm": "^1.17.31",
|
"@types/gm": "^1.17.31",
|
||||||
|
BIN
test/backend/unit/assets/test image öüóőúéáű-.,.jpg
Normal file
BIN
test/backend/unit/assets/test image öüóőúéáű-.,.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
44
test/backend/unit/model/threading/DiskMangerWorker.spec.ts
Normal file
44
test/backend/unit/model/threading/DiskMangerWorker.spec.ts
Normal 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);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user