404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.224.30.216: ~ $
#!/usr/bin/perl -w
# This file was preprocessed, do not edit!


package Debconf::FrontEnd::Readline;
use strict;
use Term::ReadLine;
use Debconf::Gettext;
use base qw(Debconf::FrontEnd::Teletype);


sub init {
	my $this=shift;

	$this->SUPER::init(@_);

	open(TESTTY, "/dev/tty") || die gettext("This frontend requires a controlling tty.")."\n";
	close TESTTY;

	$Term::ReadLine::termcap_nowarn = 1; # Turn off stupid termcap warning.
	$this->readline(Term::ReadLine->new('debconf'));
	$this->readline->ornaments(1);

	if (-p STDOUT && -p STDERR) { # make readline play nice with buffered stdout
		$this->readline->newTTY(*STDIN, *STDOUT);
	}

	if (Term::ReadLine->ReadLine =~ /::Gnu$/) {
		if (exists $ENV{TERM} && $ENV{TERM} =~ /emacs/i) {
			die gettext("Term::ReadLine::GNU is incompatable with emacs shell buffers.")."\n";
		}
		
		$this->readline->add_defun('previous-question',	
			sub {
				if ($this->capb_backup) {
					$this->_skip(1);
					$this->_direction(-1);
					$this->readline->stuff_char(ord "\n");
				}
				else {
					$this->readline->ding;
				}
			}, ord "\cu");
		$this->readline->add_defun('next-question',
			sub {
				if ($this->capb_backup) {
					$this->readline->stuff_char(ord "\n");
				}
			}, ord "\cv");
		$this->readline->parse_and_bind('"\e[5~": previous-question');
		$this->readline->parse_and_bind('"\e[6~": next-question');
		$this->capb('backup');
	}
	
	if (Term::ReadLine->ReadLine =~ /::Stub$/) {
		$this->promptdefault(1);
	}
}


sub elementtype {
	return 'Teletype';
}


sub go {
	my $this=shift;

	foreach my $element (grep ! $_->visible, @{$this->elements}) {
		my $value=$element->show;
		return if $this->backup && $this->capb_backup;
		$element->question->value($value);
	}

	my @elements=grep $_->visible, @{$this->elements};
	unless (@elements) {
		$this->_didbackup('');
		return 1;
	}

	my $current=$this->_didbackup ? $#elements : 0;

	$this->_direction(1);
	for (; $current > -1 && $current < @elements; $current += $this->_direction) {
		my $value=$elements[$current]->show;
	}

	if ($current < 0) {
		$this->_didbackup(1);
		return;
	}
	else {
		$this->_didbackup('');
		return 1;
	}
}


sub prompt {
	my $this=shift;
	my %params=@_;
	my $prompt=$params{prompt}." ";
	my $default=$params{default};
	my $noshowdefault=$params{noshowdefault};
	my $completions=$params{completions};

	if ($completions) {
		my @matches;
		$this->readline->Attribs->{completion_entry_function} = sub {
			my $text=shift;
			my $state=shift;
			
			if ($state == 0) {
				@matches=();
				foreach (@{$completions}) {
					push @matches, $_ if /^\Q$text\E/i;
				}
			}

			return pop @matches;
		};
	}
	else {
		$this->readline->Attribs->{completion_entry_function} = undef;
	}

	if (exists $params{completion_append_character}) {
		$this->readline->Attribs->{completion_append_character}=$params{completion_append_character};
	}
	else {
		$this->readline->Attribs->{completion_append_character}='';
	}
	
	$this->linecount(0);
	my $ret;
	$this->_skip(0);
	if (! $noshowdefault) {
		$ret=$this->readline->readline($prompt, $default);
	}
	else {
		$ret=$this->readline->readline($prompt);
	}
	$this->display_nowrap("\n");
	return if $this->_skip;
	$this->_direction(1);
	$this->readline->addhistory($ret);
	return $ret;
}


sub prompt_password {
	my $this=shift;
	my %params=@_;

	if (Term::ReadLine->ReadLine =~ /::Perl$/) {
		return $this->SUPER::prompt_password(%params);
	}
	
	delete $params{default};
	system('stty -echo 2>/dev/null');
	my $ret=$this->prompt(@_, noshowdefault => 1, completions => []);
	system('stty sane 2>/dev/null');
	print "\n";
	return $ret;
}


1

Filemanager

Name Type Size Permission Actions
Kde Folder 0755
Dialog.pm File 7.22 KB 0644
Editor.pm File 2.11 KB 0644
Gnome.pm File 7.34 KB 0644
Kde.pm File 4.31 KB 0644
Noninteractive.pm File 734 B 0644
Passthrough.pm File 6.29 KB 0644
Readline.pm File 3.53 KB 0644
ScreenSize.pm File 881 B 0644
Teletype.pm File 1.54 KB 0644
Text.pm File 155 B 0644
Web.pm File 2.6 KB 0644