up script
This commit is contained in:
parent
0d7a847ecd
commit
c00b62f20f
@ -11,6 +11,8 @@ let enable_batch_move_assembled_files = false;
|
||||
|
||||
let should_exec_geovisio_upload = false;
|
||||
|
||||
const reallyMoveFiles = false;
|
||||
|
||||
let folder = `/home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_a_assembler/`
|
||||
let subfolder = ``
|
||||
|
||||
@ -41,7 +43,7 @@ function findMinMaxNumberOfPhotos(dirPath: string): { min: number, max: number }
|
||||
if (matches && matches.length && matches[0]) {
|
||||
let number = parseInt(matches[0]);
|
||||
|
||||
if (previousFileName + 1 !== number) {
|
||||
if ((previousFileName + 1) !== number) {
|
||||
console.log('saut de nombre / séquence à ', previousFileName, number)
|
||||
}
|
||||
// Sauver le nombre minimal et maximal trouvé jusqu'à présent
|
||||
@ -65,10 +67,18 @@ function findMinMaxNumberOfPhotos(dirPath: string): { min: number, max: number }
|
||||
|
||||
let result = findMinMaxNumberOfPhotos(folder + subfolder)
|
||||
console.log('result', result)
|
||||
console.log("script :\n", `
|
||||
ts-node /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/main.ts --goproSubFolder=INBOX_a_assembler/${subfolder}
|
||||
bash /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_PTO_hugin/hugin_executor_from_${result.min}_to_${result.max}.sh
|
||||
bash /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/exif_batch.sh ${result.min} ${result.max} INBOX_a_assembler/${subfolder}
|
||||
console.log("script à lancer:\n", `
|
||||
# création des fichiers d'assemblage PTO et du script d'exécution en batch
|
||||
ts-node /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/main.ts --goproSubFolder=INBOX_a_assembler/${subfolder}
|
||||
|
||||
# invocation de l'éxécution de la séquence d'assemblage
|
||||
bash /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_PTO_hugin/hugin_executor_from_${result.min}_to_${result.max}.sh
|
||||
|
||||
# application des informations exif
|
||||
bash /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/exif_batch.sh ${result.min} ${result.max} INBOX_a_assembler/${subfolder}
|
||||
|
||||
# envoi vers panoramax
|
||||
geovisio_cli upload --api-url https://panoramax.openstreetmap.fr /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/PANORAMAX_envois_todo/${subfolder}
|
||||
|
||||
`)
|
||||
|
||||
@ -77,8 +87,6 @@ const envois_todo_panoramax = '/home/poule/encrypted/stockage-syncable/photos/im
|
||||
const startNumber = result.min;
|
||||
const endNumber = result.max;
|
||||
|
||||
// const startNumber = 1;
|
||||
// const endNumber = 5;
|
||||
|
||||
function renameFile(fileName: string): void {
|
||||
const filePath = path.join(hugin_assemblages_script_output_path, fileName);
|
||||
@ -87,20 +95,24 @@ function renameFile(fileName: string): void {
|
||||
const newFileName = `assemblage_0${startNumber}.jpg`;
|
||||
const newFilePath = path.join(envois_todo_panoramax, newFileName);
|
||||
|
||||
console.log('rename: ', filePath, newFilePath)
|
||||
// console.log('rename: ', filePath, newFilePath)
|
||||
|
||||
|
||||
fs.renameSync(filePath, newFilePath);
|
||||
if (reallyMoveFiles) {
|
||||
fs.renameSync(filePath, newFilePath);
|
||||
}
|
||||
} else {
|
||||
console.log('ce fichier est inexistant', filePath)
|
||||
}
|
||||
console.log('fin de déplacement des fichiers assemblés')
|
||||
}
|
||||
|
||||
|
||||
function createDirectory(folderName: string): void {
|
||||
console.log('createDirectory', folderName)
|
||||
if (!fs.existsSync(folderName)) {
|
||||
fs.mkdirSync(folderName);
|
||||
fs.mkdirSync(folderName, { recursive: true });
|
||||
}else{
|
||||
console.log('folder already existing', folderName)
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,20 +139,11 @@ function batch_move_assembled_files(startNumber: number, endNumber: number) {
|
||||
for (let i = startNumber; i <= endNumber; i++) {
|
||||
const fileName = `assemblage_0${i}.jpg`;
|
||||
|
||||
console.log('fileName', fileName)
|
||||
renameFile(fileName);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
console.log(' déplacer les assemblages dans ' + envois_todo_panoramax, startNumber, endNumber)
|
||||
|
||||
createDirectory(envois_todo_panoramax);
|
||||
|
||||
if (enable_batch_move_assembled_files) {
|
||||
|
||||
batch_move_assembled_files(startNumber, endNumber)
|
||||
}
|
||||
|
||||
|
||||
function executeCommand(command: string, folderName: string): void {
|
||||
@ -171,3 +174,11 @@ if (should_exec_geovisio_upload) {
|
||||
}
|
||||
|
||||
console.log("exécuter geovisio upload")
|
||||
|
||||
createDirectory(envois_todo_panoramax);
|
||||
|
||||
if (enable_batch_move_assembled_files) {
|
||||
|
||||
console.log(' déplacer les assemblages dans ' + envois_todo_panoramax, startNumber, endNumber)
|
||||
batch_move_assembled_files(startNumber, endNumber)
|
||||
}
|
||||
|
@ -120,16 +120,23 @@ function findMinMaxNumberOfPhotos(dirPath: string): { min: number, max: number }
|
||||
|
||||
function makeBashScriptHugin(minmax: any) {
|
||||
|
||||
console.log('makeBashScriptHugin')
|
||||
let count_pto_made_files =0;
|
||||
// in each increment of a pair of photos, build a pto referencing absolute paths
|
||||
// write the pto in output
|
||||
console.log('parseInt(minmax.min)', parseInt(minmax.min))
|
||||
console.log('makeBashScriptHugin: parseInt(minmax.min)', parseInt(minmax.min))
|
||||
|
||||
console.log('makeBashScriptHugin: gopro_fusion_separated_photos_folder', gopro_fusion_separated_photos_folder)
|
||||
|
||||
|
||||
if (!disable_pto_write) {
|
||||
console.log('makeBashScriptHugin: début de l\'écriture des fichiers PTO')
|
||||
}
|
||||
|
||||
for (let ii: any = parseInt(minmax.min); ii <= parseInt(
|
||||
minmax.max
|
||||
); ii++) {
|
||||
|
||||
let currentNumber = `${previous_zero}${ii}`;
|
||||
// let currentNumber = '080096';
|
||||
let ptoContent = makePto(absolutePath, currentNumber);
|
||||
let ptoFileName = `merging_${currentNumber}.pto`
|
||||
let stitchedFileName = `assemblage_${currentNumber}`
|
||||
@ -145,20 +152,30 @@ function makeBashScriptHugin(minmax: any) {
|
||||
'--stitching ' +
|
||||
'--prefix=' + stitchedFileName +
|
||||
'\n' +
|
||||
// ' else' +
|
||||
// '\n' +
|
||||
// ' echo "le fichier assemblé '+stitchedFileName+' manque mais le fichier de caméra gopro front n\'existe pas."' +
|
||||
'\n' +
|
||||
// ' else' +
|
||||
// '\n' +
|
||||
// ' echo "le fichier assemblé '+stitchedFileName+' existe déjà"' +
|
||||
'\n' +
|
||||
' fi' +
|
||||
'\n' +
|
||||
'fi'
|
||||
|
||||
|
||||
if (!disable_pto_write) {
|
||||
|
||||
// console.log('ptoContent', ptoContent)
|
||||
writeFile(ptoFileName, ptoContent)
|
||||
count_pto_made_files++;
|
||||
}else{
|
||||
console.log('l écriture de fichiers PTO a été désactivée')
|
||||
}
|
||||
|
||||
}
|
||||
if (!disable_pto_write) {
|
||||
console.log('fin de l\'écriture des '+count_pto_made_files+' fichiers PTO')
|
||||
}
|
||||
|
||||
let hugin_batch_command = 'bash /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/exif_batch.sh ' + goproMin + ' ' + goproMax
|
||||
|
||||
@ -182,7 +199,12 @@ function makeBashScriptHugin(minmax: any) {
|
||||
|
||||
}
|
||||
|
||||
function makePto(absolutePath: string, currentNumber: string) {
|
||||
/**
|
||||
* génère un fichier pto sous forme de String
|
||||
* @param absolutePath
|
||||
* @param currentNumber
|
||||
*/
|
||||
function makePto(absolutePath: string, currentNumber: string):string {
|
||||
|
||||
let front_picture_name = absolutePath + '/GF' + currentNumber + '.' + extension_photo_source;
|
||||
let back_picture_name = absolutePath + '/GB' + currentNumber + '.' + extension_photo_source;
|
||||
|
Loading…
Reference in New Issue
Block a user