Skip to content

Commit

Permalink
if did not fetch vname then skip check desp.
Browse files Browse the repository at this point in the history
  • Loading branch information
xaicron committed Nov 29, 2011
1 parent f53ffeb commit 060ce43
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions lib/App/pmuninstall.pm
Expand Up @@ -236,19 +236,7 @@ sub is_core_module {
sub ask_permission { sub ask_permission {
my($self, $module, $dist, $vname, $packlist) = @_; my($self, $module, $dist, $vname, $packlist) = @_;


my(@deps, %seen); my @deps = $self->find_deps($vname, $module);
if ($self->{check_deps} && !$self->{force}) {
$vname ||= $self->vname_for($module) || $module;
$self->puts("Checking modules depending on $vname") if $self->{verbose};
my $content = $self->fetch("$depended_on_by$vname") || '';
for my $dep ($content =~ m|<li><a href=[^>]+>([a-zA-Z0-9_:-]+)|smg) {
$dep =~ s/^\s+|\s+$//smg; # trim
next if $seen{$dep}++;
local $OUTPUT_INDENT_LEVEL = $OUTPUT_INDENT_LEVEL + 1;
$self->puts("Finding $dep in your \@INC (dependencies)") if $self->{verbose};
push @deps, $dep if $self->locate_pack($dep);
}
}


$self->puts if $self->{verbose}; $self->puts if $self->{verbose};
$self->puts("$module is included in the distribution $dist and contains:\n") $self->puts("$module is included in the distribution $dist and contains:\n")
Expand All @@ -274,6 +262,27 @@ sub ask_permission {
return lc($self->prompt("Are you sure to uninstall $dist?", $default)) eq 'y'; return lc($self->prompt("Are you sure to uninstall $dist?", $default)) eq 'y';
} }


sub find_deps {
my ($self, $vname, $module) = @_;

return unless $self->{check_deps} && !$self->{force};
$vname ||= $self->vname_for($module) or return;

$self->puts("Checking modules depending on $vname") if $self->{verbose};
my $content = $self->fetch("$depended_on_by$vname") or return;

my (@deps, %seen);
for my $dep ($content =~ m|<li><a href=[^>]+>([a-zA-Z0-9_:-]+)|smg) {
$dep =~ s/^\s+|\s+$//smg; # trim
next if $seen{$dep}++;
local $OUTPUT_INDENT_LEVEL = $OUTPUT_INDENT_LEVEL + 1;
$self->puts("Finding $dep in your \@INC (dependencies)") if $self->{verbose};
push @deps, $dep if $self->locate_pack($dep);
}

return @deps;
}

sub prompt { sub prompt {
my ($self, $msg, $default) = @_; my ($self, $msg, $default) = @_;
require ExtUtils::MakeMaker; require ExtUtils::MakeMaker;
Expand Down

0 comments on commit 060ce43

Please sign in to comment.