isundil hai 1 ano
pai
achega
2e52455835
Modificáronse 3 ficheiros con 7 adicións e 4 borrados
  1. 6 2
      src/filetype/imagemagick.js
  2. 0 1
      src/library.js
  3. 1 1
      static/public/js/medias.js

+ 6 - 2
src/filetype/imagemagick.js

@@ -10,7 +10,7 @@ class ImagemagickWrapper {
 
     readMeta(path) {
         return this.#threadPool.pushTask(() => new Promise((ok, ko) => {
-            imLib.identify(['-format', '%[EXIF:*]Compression=%[compression]\nWidth=%w\nHeight=%h\n', path], (err, stdout) => {
+            imLib.identify(['-format', '%[EXIF:*]Compression=%[compression]\nWidth=%w\nHeight=%h\ndate:modify=%[date:modify]\n', path], (err, stdout) => {
                 if (err)
                     return ko(err);
                 ok(stdout);
@@ -43,6 +43,10 @@ function readMeta(path) {
                     continue;
                 var key = line.substr(0, eq_p).replace('/','-'),
                     value = line.substr(eq_p+1).trim();
+                if (key === 'date:modify') {
+                    value = new Date(value);
+                    key = "date_modify";
+                }
                 var p = key.indexOf(':');
                 if (p !== -1)
                     key = key.substr(p+1);
@@ -92,7 +96,7 @@ module.exports.parse = async (fileObj, data) => {
         result.setExposureProgram(Number.parseInt(imdata.exposureProgram));
         result.exposureTime = exifSlash(imdata.exposureTime);
         result.exposureTimeStr = imdata.exposureTime || undefined;
-        result.dateTime = exifDate(imdata.dateTimeDigitized || imdata.dateTimeOriginal);
+        result.dateTime = exifDate(imdata.dateTimeDigitized || imdata.dateTimeOriginal) || imdata.date_modify;
         result.fNumber = exifSlash(imdata.fNumber);
         result.focal = exifSlash(imdata.focalLength);
         result.lensModel = imdata.lensModel || undefined;

+ 0 - 1
src/library.js

@@ -146,7 +146,6 @@ Library.prototype.findInaccessibleItems = async function(dbHelper) {
                 where mediaMeta.key=? and mediaMeta.value=? and mediaFile.inaccessible=0 limit ? offset ?`, ["libraryPath", this.dbHash, pager, pager*i]));
         let missing = data.filter(x => notReadable(x.path));
         if (missing.length) {
-            console.log(missing);
             await dbHelper.runSql("update mediaFile set version=?, inaccessible=? where fixedSum in ("+missing.map(x => '?').join(',')+")", [ currentVersion, currentVersion].concat(missing.map(x => x.fixedSum)));
         }
         ++i;

+ 1 - 1
static/public/js/medias.js

@@ -287,7 +287,7 @@ class MediaStorage extends EventTarget
         let medias = this.medias.filter(x => md5sums.indexOf(x.fixedSum) >= 0);
         this.medias = this.medias.filter(x => md5sums.indexOf(x.fixedSum) === -1);
         for (let i of medias)
-            i.ui.root.remove();
+            i.ui && i.ui.root.remove();
     }
 
     getMediaLocal(md5sum) {