Bug 21865: add confirm to remove_unused_authorities.pl script
authorFridolin Somers <fridolin.somers@biblibre.com>
Mon, 19 Nov 2018 14:45:49 +0000 (15:45 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 14 Apr 2020 15:54:19 +0000 (16:54 +0100)
Like in most scripts in misc, add confirm argument
to ensure script is not run without knowing what it does.

Test plan:
1) Run misc/migration_tools/remove_unused_authorities.pl -h
2) You see help line for confirm
3) Run misc/migration_tools/remove_unused_authorities.pl
4) You see help and script does nothing
5) Run misc/migration_tools/remove_unused_authorities.pl -c
6) Script runs like wanted

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

misc/migration_tools/remove_unused_authorities.pl

index 30acf5d..00869a9 100755 (executable)
@@ -30,15 +30,15 @@ use Getopt::Long;
 use Koha::SearchEngine::Search;
 
 my @authtypes;
-my $want_help = 0;
-my $test = 0;
+my ($confirm, $test, $want_help);
 GetOptions(
     'aut|authtypecode:s' => \@authtypes,
+    'c|confirm'          => \$confirm,
     't|test'             => \$test,
-    'h|help'             => \$want_help
+    'h|help'             => \$want_help,
 );
 
-if ($want_help) {
+if ( $want_help || !$confirm ) {
     print_usage();
     exit 0;
 }
@@ -129,11 +129,14 @@ particular type will be checked for usage.  --aut can be repeated.
 
 If --aut is not supplied, all authority records will be checked.
 
+Use --confirm Confirms you want to really run this script, otherwise prints this help.
+
 Use --test to perform a test run.  This script does not ask the
 operator to confirm the deletion of each authority record.
 
 parameters
     --aut|authtypecode TYPE       the list of authtypes to check
+    --confirm or -c               confirm running of script
     --test or -t                  test mode, don't delete really, just count
     --help or -h                  show this message.