Skip to content

Commit

Permalink
publish
Browse files Browse the repository at this point in the history
  • Loading branch information
simon louvet committed Jan 29, 2024
1 parent 339599a commit 6f64158
Show file tree
Hide file tree
Showing 12 changed files with 4,662 additions and 717 deletions.
3,600 changes: 3,600 additions & 0 deletions ExtractionOffresSante_Profil0_202107070100.xml

Large diffs are not rendered by default.

72 changes: 67 additions & 5 deletions core/dataTraitmentLibrary/file_convertor.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ var xml = require('./xml/xml_traitment.js');
var csv = require('./csv/csv_traitment.js');
var ics = require('./ics/index.js');
var zlib = require('zlib');
const JSZip = require('jszip');

module.exports = {
data_from_file: _data_from_file,
Expand Down Expand Up @@ -48,13 +49,74 @@ function _buildFile(filename, dataString, dataBuffer, out, contentType) {

}

function addFileToTree(tree,fileObject,leaf, parts) {



// if (parts.length === 0){
// leaf.
// }

const part = parts.shift();
if (parts.length === 0) {
// Si c'est un fichier
tree[part] = 'file';
} else {
// Si c'est un dossier
if (!tree[part]) tree[part] = {};
addFileToTree(tree[part], parts);
}
}

function _data_from_file(filename, dataBuffer, contentType) {
//console.log("in aggregate function")
// console.log('_data_from_file')
// console.log('filename',filename);
// console.log('contentType',contentType);
const extension= _extension(filename, contentType);
console.log(extension)

return new Promise(function(resolve, reject) {
return new Promise(async function(resolve, reject) {
switch (extension) {
// GZ decompression
case("zip"):
const zip = new JSZip();
try {
const contents = await zip.loadAsync(dataBuffer);
console.log('UNZIP!!',contents)
let files=[];
for (const fileName of Object.keys(zip.files)) {
const fileObject=zip.files[fileName]
if(fileObject.dir==false){
const pathTab = fileObject.name.split('/').filter(Boolean);
const name= pathTab.pop();
const fileItem = {
fullPath :fileObject.name,
name : name,
path : pathTab.join('/')
}

try {
const bufferFile= await fileObject.async('nodebuffer');
const data = await _data_from_file(name, bufferFile);
// console.log(data)
fileItem.data= data.data;
} catch (error) {
// console.error(error)
fileItem.data= {error:error};
} finally {
files.push(fileItem);
}
}
}
resolve({
data: files
})
} catch (error) {
reject(`Erreur lors de la lecture du fichier ZIP: ${error}`)
}

break;
// GZ decompression
case("gz"):
// decompression of a data buffer with Gunzip
Expand All @@ -65,7 +127,7 @@ function _data_from_file(filename, dataBuffer, contentType) {
// we can find the right file's extension type
const newFileName = filename.substring(filename, filename.length-3);

_data_from_file(newFileName, newString, newBuffer).then((result) => {
_data_from_file(newFileName, newBuffer).then((result) => {
resolve({
data: result.data
})
Expand Down Expand Up @@ -134,11 +196,12 @@ function _data_from_file(filename, dataBuffer, contentType) {
// XML DONE
case ("xml"):
case ("kml"):
xml.xml_traitment(dataBuffer.toString()).then(function(reusltat) {
console.log(dataBuffer)
xml.xml_traitment(dataBuffer.toString()).then(function(result) {
// //console.log("FINAL", reusltat)
//console.log("FINAL", reusltat)
resolve({
data: reusltat
data: result
})
}, function(err) {
reject("votre fichier n'est pas au norme ou pas du bon format " + extension)
Expand Down Expand Up @@ -170,7 +233,6 @@ function _data_from_file(filename, dataBuffer, contentType) {
})
break;
default:
//console.log("in default")
reject("erreur, le format du fichier n'est pas supporté (" + extension + ")")

break;
Expand Down
16 changes: 10 additions & 6 deletions core/lib/fragment_lib.js
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,8 @@ module.exports = {
data==undefined ||
(typeof data) == 'function' ||
(data?.constructor?.name == 'ObjectID') ||
(data?.constructor?.name == 'Buffer')||
(data?.constructor?.name == 'Buffer') ||
(data instanceof Date && !isNaN(data)) ||
!(this.isObject(data)))&&
!Array.isArray(data)
},
Expand All @@ -320,7 +321,7 @@ module.exports = {
(data?.constructor?.name == 'ObjectID') ||
(data?.constructor?.name == 'Buffer')){
return data.toString();
}else{
} else{
return data;
}
},
Expand Down Expand Up @@ -375,24 +376,27 @@ module.exports = {
const arrayReadyToPersit = []
for (let item of data){
const persistedObject = await this.persistObject(item,fargToPersist);
if (persistedObject._id && persistedObject?._id instanceof mongoose.Types.ObjectId){
if (persistedObject?._id && persistedObject?._id instanceof mongoose.Types.ObjectId){
arrayReadyToPersit.push({
_frag : persistedObject._id.toString()
});
}else{
arrayReadyToPersit.push(persistedObject);
}
}
// console.log('arrayReadyToPersit',arrayReadyToPersit)
fargToPersist.data=arrayReadyToPersit;
fargToPersist.markModified('data');
fargToPersist.branchFrag=undefined;
return await fargToPersist.save();
}
}else{
const objectData = await this.persistObject(data,fargToPersist)
// console.log('objectData',objectData)
fargToPersist.data=objectData;
fargToPersist.markModified('data');
fargToPersist.branchFrag=undefined;
// console.log('_____fargToPersist',fargToPersist)
return await fargToPersist.save();
}
// }
Expand Down Expand Up @@ -473,7 +477,7 @@ module.exports = {
})
.lean()
.exec();
// console.log('frag',fragmentReturn)

if (fragmentReturn.branchFrag) {
const frags = await this.fragmentModel.getInstance().model.find({
branchOriginFrag: fragmentReturn.branchFrag
Expand Down Expand Up @@ -688,8 +692,8 @@ module.exports = {
}
}
return out;
}
if (object instanceof Object) {
} else if (this.isObject(object) && !this.isLiteral(object)) {
// console.log('___replaceMongoNotSupportedKey object ',object,this.isLiteral(object))
let out = {};
for (let key in object) {
let realKey = key;
Expand Down
Loading

0 comments on commit 6f64158

Please sign in to comment.