File indexing completed on 2025-04-20 08:12:09
0001 #!/bin/sh 0002 # icons-kde3to4-renamer.sh 0003 # 0004 # By Danny Allen (dannya@kde.org) 0005 # Licenced under the LGPL 0006 0007 script_base="/home/kde-devel/kde/src/KDE/kdesdk/scripts/qt4/icons-kde3tokde4-renamer" 0008 icon_base="/home/kde-devel/kde/src/KDE/kdeartwork/IconThemes/primary/scalable" 0009 # icon_base="/home/kde-devel/kde/src/KDE/kdeaccessibility/IconThemes/mono/scalable" 0010 old_extension="svgz" 0011 new_extension="svgz" 0012 0013 # check if directories set are valid 0014 if [ ! -d $script_base ] || [ ! -d $icon_base ]; then 0015 echo "Correctly set the locations at the top of this script first!" 0016 exit 1; 0017 fi 0018 0019 # set icon types 0020 types="actions apps categories devices emblems mimetypes places" 0021 0022 # counters (leave as 0) 0023 implemented="0" 0024 correct="0" 0025 not_implemented="0" 0026 removed="0" 0027 0028 0029 # change to icon location 0030 cd -- "$icon_base" 0031 0032 0033 function make_changes { 0034 area="$1" 0035 0036 # check if directory exists for type (otherwise make it) 0037 if [ ! -d "$area" ]; then 0038 mkdir -- "$area" 0039 svn add -- "$area" 0040 0041 echo "created $area directory" 0042 fi 0043 0044 # change to the type directory 0045 cd -- "$area" 0046 0047 # report area 0048 echo "--------------------------------" 0049 echo "Processing $area..." 0050 echo "--------------------------------" 0051 0052 # set filenames 0053 rename_list="$script_base/$area"_rename.txt 0054 remove_list="$script_base/$area"_remove.txt 0055 missing_log="$script_base/missing_"$area.txt 0056 0057 # remove old logs 0058 rm -f -- "$missing_log" 0059 0060 ######################## 0061 # renamings 0062 ######################## 0063 # determine number of icons to process 0064 list_entries=`wc -l <"$rename_list"` 0065 0066 echo "" 0067 number="0" 0068 while [ "$number" -le "$list_entries" ]; do 0069 original_name=`head -n $(($number + 1)) "$rename_list" | tail -n 1` 0070 new_name=`head -n $(($number + 2)) "$rename_list" | tail -n 1` 0071 0072 # look for icon, if present, svn mv 0073 if [ -f "$original_name.$old_extension" ]; then 0074 # do the move 0075 svn mv "$original_name.$old_extension" "$new_name.$new_extension" 0076 0077 printf '%s renamed to %s\n\n' "$original_name" "$new_name" 0078 0079 # increment implemented counter 0080 implemented=$(($implemented + 1)) 0081 elif [ -f "$new_name.$new_extension" ]; then 0082 # icon already renamed 0083 correct=$(($correct + 1)) 0084 else 0085 # add to missing_icons log 0086 echo "$new_name" >> "$missing_log" 0087 0088 # increment not implemented counter 0089 not_implemented=$(($not_implemented + 1)) 0090 fi 0091 0092 number=$(($number + 3)) 0093 done 0094 0095 # output status report 0096 echo "" 0097 echo "###############" 0098 echo "$implemented icons renamed." 0099 echo "$correct were already correctly named." 0100 if [ $not_implemented -gt "0" ]; then 0101 echo "" 0102 echo "Missing icons in this set: $not_implemented" 0103 echo "" 0104 echo "See missing_$area.txt for more details" 0105 fi 0106 echo "###############" 0107 0108 0109 ######################## 0110 # removals 0111 ######################## 0112 # determine number of icons to process 0113 list_entries=`wc -l < "$remove_list"` 0114 0115 echo "" 0116 number="0" 0117 while [ "$number" -le "$list_entries" ]; do 0118 original_name="`head -n $(($number + 1)) \"$remove_list\" | tail -n 1`" 0119 0120 # look for icon, if present, svn mv 0121 if [ -f "$original_name.$old_extension" ]; then 0122 # do the removal 0123 svn rm -- "$original_name.$old_extension" 0124 0125 echo "removed $original_name" 0126 echo "" 0127 0128 # increment implemented counter 0129 removed=$(($removed + 1)) 0130 fi 0131 0132 number=$(($number + 1)) 0133 done 0134 0135 # output status report 0136 echo "" 0137 echo "###############" 0138 echo "$removed icons removed." 0139 echo "###############" 0140 0141 # change back to parent dir 0142 cd .. 0143 } 0144 0145 0146 # do all the changes, or only on a specific areas? 0147 if [ $# != 0 ]; then 0148 # perform changes on specified areas 0149 make_changes "$@" 0150 else 0151 # rename filesystems to places if neccessary 0152 if [ -d "filesystems" ]; then 0153 svn mv filesystems places 0154 0155 echo "filesystems/ renamed to places/" 0156 fi 0157 0158 # perform changes on all areas 0159 for area in $types; do 0160 make_changes "$area" 0161 done 0162 fi 0163 0164 echo "" 0165 echo "" 0166 echo "Don't forget to 'svn commit' your changes!" 0167 echo ""