made ente metadata file like google

This commit is contained in:
Abhinav-grd 2021-07-24 21:29:02 +05:30
parent cc28b4aee1
commit 64887463dc
3 changed files with 23 additions and 3 deletions

View file

@ -139,7 +139,7 @@ export default function Gallery() {
} = useDropzone({
noClick: true,
noKeyboard: true,
accept: ['image/*', 'video/*', 'application/json'],
accept: ['image/*', 'video/*', '.json'],
disabled: uploadInProgress,
});

View file

@ -1,5 +1,5 @@
import { retryPromise, runningInBrowser } from 'utils/common';
import { getExportPendingFiles, getExportFailedFiles, getFilesUploadedAfterLastExport, getFileUID, dedupe } from 'utils/export';
import { getExportPendingFiles, getExportFailedFiles, getFilesUploadedAfterLastExport, getFileUID, dedupe, getGoogleLikeMetadataFile } from 'utils/export';
import { logError } from 'utils/sentry';
import { getData, LS_KEYS } from 'utils/storage/localStorage';
import { Collection, getLocalCollections } from './collectionService';
@ -258,7 +258,7 @@ class ExportService {
this.ElectronAPIs.saveStreamToDisk(`${collectionPath}/${uid}`, fileStream);
this.ElectronAPIs.saveFileToDisk(
`${collectionPath}/${MetadataFolderName}/${uid}.json`,
JSON.stringify(file.metadata, null, 2),
getGoogleLikeMetadataFile(uid, file.metadata),
);
}

View file

@ -1,5 +1,7 @@
import { ExportRecord } from 'services/exportService';
import { File } from 'services/fileService';
import { MetadataObject } from 'services/uploadService';
import { formatDate } from 'utils/file';
export const getFileUID = (file: File) => `${file.id}_${file.collectionID}_${file.updationTime}`;
@ -42,3 +44,21 @@ export const dedupe = (files: any[]) => {
const dedupedArray = new Array(...fileSet);
return dedupedArray;
};
export const getGoogleLikeMetadataFile=(uid :string, metadata:MetadataObject)=>{
return JSON.stringify({
title: uid,
creationTime: {
timestamp: metadata.creationTime,
formatted: formatDate(metadata.creationTime),
},
modificationTime: {
timestamp: metadata.modificationTime,
formatted: formatDate(metadata.modificationTime),
},
geoData: {
latitude: metadata.latitude,
longitude: metadata.longitude,
},
}, null, 2);
};