Hi Damyan Thanks for looking at it too!
On Sun, Sep 16, 2012 at 10:14:28AM +0300, Damyan Ivanov wrote: > -=| Salvatore Bonaccorso, 16.09.2012 00:54:45 +0200 |=- > > Hi Wolodja > > > > On Wed, May 30, 2012 at 05:12:13PM +0100, Wolodja Wentland wrote: > > > Package: libapp-nopaste-perl > > > Version: 0.33-1 > > > Severity: wishlist > > > > > > nopaste currently uploads pastes to http://pastie.org by default. Users > > > have > > > to set the NOPASTE_SERVICES environment variable to 'Debian' in order to > > > change > > I looked in the code and I couldn't find where this default comes > from. To me it seems that all available services are tried in turn, in > the order they are returned by the file system (via File::Find, used > by Module::Pluggable). Only one addition to this. If no service is set via environment variable or argument then we get the list of all plugins first in (lib/App/Nopaste.pm): 33 my $using_default = 0; 34 unless (ref($args{services}) eq 'ARRAY' && @{$args{services}}) { 35 $using_default = 1; 36 $args{services} = [ $self->plugins ]; 37 } The selection of the first service then happens in 51 # try to paste to each service in order 52 for my $service (@{ $args{services} }) { 53 $service = "App::Nopaste::Service::$service" 54 unless $service =~ /^App::Nopaste::Service/; 55 56 no warnings 'exiting'; 57 my @ret = eval { 58 59 local $SIG{__WARN__} = sub { 60 $args{warn_handler}->($_[0], $service); 61 } if $args{warn_handler}; 62 63 load_class($service); 64 65 next unless $service->available(%args); 66 next if $using_default && $service->forbid_in_default; 67 $service->nopaste(%args); 68 }; where the services are skipped either if they mark itself as 'not available' (by setting "sub available { 0 }" in the module?) or are forbidden as defaults (by setting "sub forbid_in_default { 1 }" in the Plugin itself). Regards, Salvatore
signature.asc
Description: Digital signature

