Skip to content
Extraits de code Groupes Projets
Valider dee8f5fc rédigé par Aorimn's avatar Aorimn
Parcourir les fichiers

Récupération de la signification d'un acronyme

Dans UrbanDictionary, on récupère maintenant la définition de l'écronyme
qu'on a cherché.
BTW, lorsqu'un mot n'existait pas, c'était cassé, du coup ça aussi c'est
réparé.
parent a84c84d3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -55,29 +55,44 @@ sub send_result ...@@ -55,29 +55,44 @@ sub send_result
$::logger->debug("Status ok\n"); $::logger->debug("Status ok\n");
my $msg = $params->{"url"}; my $msg = $params->{"url"};
my $not_exist = undef; my $search = uri_unescape($params->{"search"});
my $parser = HTML::TokeParser::Simple->new("string" => $buffer); if($buffer =~ /Can you define it\?/)
my ($tag, $tag_id);
while($tag = $parser->get_tag("div"))
{ {
if(($tag_id = $tag->get_attr("id"))) $msg = "\x02".$search."\x02 isn't defined yet. Add it here: http://www.urbandictionary.com/define.php?term=".$params->{"search"};
}
else
{
my $parser = HTML::TokeParser::Simple->new('string' => $buffer);
my ($tag, $tag_class);
while($tag = $parser->get_tag('div'))
{
if(($tag_class = $tag->get_attr('class')) && $tag_class eq 'meaning')
{ {
if($tag_id =~ /^\s*not_defined_yet\s*$/) my $def = $parser->get_text;
$def =~ s/^\s*(.*?)\s*$/$1/;
$msg = "\x02".$search."\x02: $def";
# On regarde s'il y a un exemple
my $found = 0;
while($tag = $parser->get_tag('div'))
{ {
$not_exist = 1; next if(!($tag_class = $tag->get_attr('class')) || $tag_class ne 'example');
last if($tag_class eq 'contributor');
$found = 1;
last; last;
} }
}
last if($tag_id eq "paginator"); if($found)
{
my $ex = $parser->get_text;
$ex =~ s/^\s*(.*?)\s*$/$1/;
$msg .= " \x1FExample:\x1F $ex";
} }
last;
if(defined($not_exist)) }
{ }
my $not_found = uri_unescape($params->{"search"});
$msg = "\x02".$not_found."\x02 isn't defined yet. Add it here: http://www.urbandictionary.com/add.php?word=".$params->{"search"};
} }
$::displayer->sendto($params->{"reply_to"}, $msg); $::displayer->sendto($params->{"reply_to"}, $msg);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter