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 {
|
||||
|
||||
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});
|
||||
|
@ -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);
|
||||
|
@ -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",
|
||||
|
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