Fix for Braille: bad triggers #2771

IA: https://duck.co/ia/view/braille
master
ehuang 2016-03-29 05:45:48 +00:00
parent 36e7e17ed5
commit 753b257496
1 changed files with 8 additions and 4 deletions

View File

@ -7,7 +7,7 @@ use DDG::Goodie;
use Convert::Braille;
use utf8;
triggers query_raw => qr/\p{Braille}|braille/i;
triggers query_raw => qr/\p{Braille}|( in|to){1} braille$|^braille:/i;
zci is_cached => 1;
@ -16,20 +16,24 @@ my $braille_space = ''; # the braille unicode space (U+2800)
handle query_raw => sub {
my $query = $_;
$query =~ s/translate to braille |( in)? braille$|^braille //;
$query =~ s/( in|to){1} braille$|^braille: //;
return unless $query;
my $result;
my $type;
if ($query =~ /\p{Braille}/) {
$result = join(" ", map { lc(brailleDotsToAscii($_)) } split(/$braille_space/, $query));
$type = "Ascii/Unicode";
} else {
$result = join($braille_space, map { brailleAsciiToUnicode(uc $_) } split(/\s/, $query));
$type = "Braille";
}
return $result . ' (Braille)',
return answer => $result,
answer_type => $type,
structured_answer => {
input => [html_enc($query)],
input => [$query],
operation => 'Braille translation',
result => html_enc($result),
};