From b58559a18af6127ae396542a29b80657f98fb274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Poizl?= Date: Sun, 13 Jul 2025 10:43:15 +0200 Subject: [PATCH] Update modify FITS header script --- scripts/modify FITS header | 57 ++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 12 deletions(-) diff --git a/scripts/modify FITS header b/scripts/modify FITS header index 9b41f43..a860eab 100644 --- a/scripts/modify FITS header +++ b/scripts/modify FITS header @@ -12,10 +12,12 @@ if(files.length == 0) throw ""; } -let action = core.getItem(["UPDATE", "ADD", "REMOVE"], "Do you want update, add or remove record?"); +let action = core.getItem(["UPDATE", "UPDATE_ADD", "ADD", "REMOVE"], "Do you want update, add or remove record?"); let modify = new FITSRecordModify(); +let proceed = false; + if(action == "UPDATE") { let keywords = files[0].fitsKeywords().filter(checkFITS); @@ -25,28 +27,59 @@ if(action == "UPDATE") value = core.getString("Enter new value", value); else value = core.getFloat("Enter new value", value); - modify.updateKeyword(keyword, value); + + if(keyword && value) + { + proceed = true; + modify.updateKeyword(keyword, value); + } +} +else if(action == "UPDATE_ADD") +{ + let keyword = core.getString("Enter keyword to update"); + let value = core.getString("Enter new value"); + if(keyword && value) + { + proceed = true; + keyword = keyword.toUpperCase(); + modify.updateKeyword(keyword, value); + } } else if(action == "ADD") { let keyword = core.getString("Enter keyword to add"); let value = core.getString("Enter new value"); - keyword = keyword.toUpperCase(); - modify.addKeyword(keyword, value); + if(keyword && value) + { + proceed = true; + keyword = keyword.toUpperCase(); + modify.addKeyword(keyword, value); + } } else if(action == "REMOVE") { let keywords = files[0].fitsKeywords().filter(checkFITS); let keyword = core.getItem(keywords, "Select keyword to remove"); - modify.removeKeyword(keyword); -} - -for(file of files) -{ - if(file.suffix() == "fits" || file.suffix() == "fit" || file.suffix() == "xisf") + if(keyword) { - core.log("Modifing " + file.fileName()); - file.modifyFITSRecords(modify); + proceed = true; + modify.removeKeyword(keyword); } } +if(proceed) +{ + for(file of files) + { + if(file.suffix() == "fits" || file.suffix() == "fit" || file.suffix() == "xisf") + { + core.log("Modifing " + file.fileName()); + file.modifyFITSRecords(modify); + } + } +} +else +{ + core.log("Canceled"); +} +