use strict;
use warnings;
#--------------------------------------------------------------------------------------------------------------
# Run Namefix
#--------------------------------------------------------------------------------------------------------------
sub run_namefix
{
# reset misc vars
$main::hl_counter = 0;
$main::hlist2->delete("all");
$main::id3_change = 0;
$main::change = 0;
$main::suggestF = 0;
$main::tmpfilefound = 0;
$main::enum_count = 0;
$main::tags_rm = 0;
$main::last_recr_dir = "";
my $t_s = ""; # tmp string
my @tmp_arr = "";
# prep vars we need
if($main::disable_regexp == 1)
{
$main::rpwold_escaped = &escape_string($main::rpwold);
} else
{
$main::rpwold_escaped = $main::rpwold;
}
if($main::filter_use_re == 0)
{
$main::filter_string_escaped = &escape_string($main::filter_string);
}
else
{
$main::filter_string_escaped = $main::filter_string;
}
if(-f $main::killwords_file)
{
undef @main::kill_words_arr;
@tmp_arr = &readsf("$main::killwords_file");
for $t_s(@tmp_arr)
{
$t_s = &escape_string($t_s);
push (@main::kill_words_arr, $t_s);
}
}
if(-f $main::killpat_file)
{
@main::kill_patterns_arr = &readsf("$main::killpat_file");
}
if(-f $main::casing_file)
{
undef @main::word_casing_arr;
@tmp_arr = &readf("$main::casing_file");
for $t_s(@tmp_arr)
{
$t_s = escape_string($t_s);
push (@main::word_casing_arr, $t_s);
}
}
$main::orig_dir = cwd;
chdir $main::dir;
&nf_print("..");
if(!$main::recr)
{
opendir(DIR, "$main::dir") or die "can't open working dir: $!";
my @dirlist = readdir(DIR);
closedir DIR;
# -- make sure we dont have . and .. in array --
@dirlist = reverse @dirlist; # this puts . and .. and end of array
$#dirlist = $#dirlist - 2; # remove . and ..
@dirlist = &ci_sort(@dirlist); # sort array
foreach(@dirlist)
{
if(!$_) # stop warnings getting spat out
{
next;
}
if($main::proc_dirs)
{
&fixname;
next;
}
elsif(! -d $_)
{
&fixname;
}
}
}
if($main::recr)
{
find(\&fixname, "$main::dir");
}
# print info
&nf_print(" ");
if ($main::testmode == 1)
{
&nf_print("$main::change files would have been modified");
if($main::id3_mode)
{
&nf_print("$main::id3_change mp3s would of had tags updated.");
}
if($main::tags_rm)
{
&nf_print("$main::tags_rm mp3 tags would have been removed");
}
}
else
{
&nf_print("$main::change files have been modifided");
if($main::id3_mode)
{
&nf_print("$main::id3_change tags have been updated");
}
if($main::tags_rm)
{
&nf_print("$main::tags_rm mp3 tags have been removed");
}
}
&nf_print(" ");
if($main::suggestF != 0)
{
$t_s = "namefix.pl was unable to rename $main::suggestF files.\nPerhaps you should enable \"FS Fix\".";
&nf_print($t_s);
&nf_print(" ");
}
if($main::tmpfilefound != 0)
{
&nf_error("namefix.pl found tmp some of its own tmp files, this should not happen. Please check the following list of files.\n$main::tmpfilelist\n");
}
&nf_print("namefix.pl $main::version by $main::author");
# cleanup
$main::testmode = 1; # return to test mode for safety :)
chdir $main::dir;
}
1;
syntax highlighted by Code2HTML, v. 0.9.1