adding path support to spacemall
authorChris Koeritz <fred@gruntose.com>
Tue, 29 Jan 2019 23:51:58 +0000 (18:51 -0500)
committerChris Koeritz <fred@gruntose.com>
Tue, 29 Jan 2019 23:51:58 +0000 (18:51 -0500)
this is a lot more obnoxious than expected.  it turns out spacem has a bug when run against a file in a directory, where it cannot do the renaming properly.
the current state is not right yet, but it's better than it was in terms of features.  but this needs to work properly for both spacem and spacemall

scripts/core/common.alias
scripts/core/functions.sh
scripts/files/renlower.pl
scripts/files/spacem.sh

index aac26d5e3265d450a5591a50f78f89cdf03132cb..2c8b6ec9803d8e10d916b7e255ae3a7d8fdf11d6 100644 (file)
@@ -140,10 +140,6 @@ define_yeti_alias cputemp='acpi -t'
 # makes root user's home directory's permissions right.
 define_yeti_alias reroot='chown -R root:root /root'
 
-# space 'em all fixes naming for all of the files of the appropriate types in the current directory.
-define_yeti_alias spacemall="find . -maxdepth 1 -mindepth 1 -type f \( $(echo pdf png jpg jpeg odt ods docx m4a mp3 eml html mov pptx xlsx zip | sed -e 's/\([a-z0-9][a-z0-9]*\)/-iname \"*.\1\" -o /g') -iname \"*.txt\" \) -exec bash "$FEISTY_MEOW_SCRIPTS/files/spacem.sh" \"{}\" \; "
-#2>> ~/.tmp/zz_spacem.log'
-
 # yes, these what/who/why functions are really helpful...
 define_yeti_alias whoareyou='echo -e "Hello, I am a computer named $(hostname)\nand I am very pleased to meet you."'
 define_yeti_alias whereami='echo whoa dude, try not to think about it...'
index a5cd8b41f0aadc9c932abad09726faf5442be2b2..ae0c42073a0e090282b7fa3871f7f824fa03c643 100644 (file)
@@ -965,6 +965,22 @@ return 0
 
   ##############
 
+  # space 'em all fixes naming for all of the files of the appropriate types in the directories specified.
+  function spacemall() {
+    local -a dirs=("${@}")
+echo "dirs from params are: " "${dirs[@]}"
+    if [ ${#dirs[@]} -eq 0 ]; then
+echo dirs had zero entries
+      dirs=(.)
+    fi
+echo "dirs are: " "${dirs[@]}"
+
+#was using: -maxdepth 1 -mindepth 1 
+    find "${dirs[@]}" -follow -type f \( $(echo pdf png jpg jpeg odt ods docx m4a mp3 eml html mov pptx xlsx zip | sed -e 's/\([a-z0-9][a-z0-9]*\)/-iname \"*.\1\" -o /g') -iname "*.txt" \) -exec bash "$FEISTY_MEOW_SCRIPTS/files/spacem.sh" "{}" \;
+  }
+
+  ##############
+
   # site avenger aliases
   function switchto()
   {
index d4e3f11fa9d2ec4d9bdef70ce7a92a05eba830ab..1fe9fa1ff27490ac9851b305cc25cc3ec4ccaa4f 100644 (file)
@@ -45,9 +45,9 @@ sub rename_lower {
 #print "new name='$new_name'\n";
       local $intermediate_name = $dir . "RL" .  rand() . ".tmp";
 #print "\n";
-#print "command A is: rename [$old_name] [$intermediate_name]\n";
-#print "command B is: rename [$intermediate_name] [$new_name]\n";
-#print "\n";
+print "command A is: rename [$old_name] [$intermediate_name]\n";
+print "command B is: rename [$intermediate_name] [$new_name]\n";
+print "\n";
       rename($old_name, $intermediate_name)
           || die "failed to do initial rename";
       rename($intermediate_name, $new_name)
index fb06d8c5a605d4c8ddcb7d2cdd6bf891d484c495..aecf3b085886017e3182a44482f3c4aad95ec28b 100644 (file)
@@ -4,6 +4,7 @@ function spacem_out()
 {
   while [ $# -gt 0 ]; do
     arg="$1"; shift
+echo "arg is '$arg'"
     if [ ! -f "$arg" -a ! -d "$arg" ]; then
       echo "=> did not find a file or directory named '$arg'."
       continue
@@ -19,18 +20,18 @@ function spacem_out()
       intermediate_name="'$arg'"
     else 
       # now zap the first part of the name off (since original name is not needed).
-      intermediate_name="$(echo $intermediate_name | sed -e 's/.*=> //')"
+      intermediate_name="$(echo "$intermediate_name" | sed -e 's/.*=> //')"
       saw_intermediate_result=1
     fi
 
     # first we rename the file to be lower case.
-    actual_file="$(echo $intermediate_name | sed -e "s/'\([^']*\)'/\1/")"
-    final_name="$(perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$actual_file")"
+    actual_file="$(echo "$intermediate_name" | sed -e "s/\'\([^']*\)\'/\1/")"
+    final_name="$(perl "$FEISTY_MEOW_SCRIPTS/files/renlower.pl" "$actual_file")"
     local saw_final_result=0
     if [ -z "$final_name" ]; then
       final_name="$intermediate_name"
     else
-      final_name="$(echo $final_name | sed -e 's/.*=> //' )"
+      final_name="$(echo "$final_name" | sed -e 's/.*=> //' )"
       saw_final_result=1
     fi
 #echo intermed=$saw_intermediate_result