File indexing completed on 2024-05-05 05:44:42

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 ""