3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-23 11:12:42 +01:00

Replace Text::Levenshtein with Text::Levenshtein::XS

Existing PBot users: please run `cpanm Text::Levenshtein::XS` to install
this module.
This commit is contained in:
Pragmatic Software 2021-08-27 19:57:18 -07:00
parent d1bb30ef94
commit 4096510d05
3 changed files with 11 additions and 11 deletions

View File

@ -20,10 +20,10 @@ use PBot::Core::Utils::SQLiteLogger;
use PBot::Core::Utils::SQLiteLoggerLayer; use PBot::Core::Utils::SQLiteLoggerLayer;
use DBI; use DBI;
use Carp qw/shortmess/; use Carp qw/shortmess/;
use Time::HiRes qw/time/; use Time::HiRes qw/time/;
use Text::CSV; use Text::CSV;
use Text::Levenshtein qw/fastdistance/; use Text::Levenshtein::XS qw/distance/;
use Time::Duration; use Time::Duration;
sub initialize { sub initialize {
@ -537,7 +537,7 @@ sub get_message_account {
} }
# fuzzy match hosts # fuzzy match hosts
my $distance = fastdistance($host, $thost); my $distance = distance($host, $thost);
my $length = (length($host) > length($thost)) ? length $host : length $thost; my $length = (length($host) > length($thost)) ? length $host : length $thost;
#$self->{pbot}->{logger}->log("distance: " . ($distance / $length) . " -- $host vs $thost\n") if $length != 0; #$self->{pbot}->{logger}->log("distance: " . ($distance / $length) . " -- $host vs $thost\n") if $length != 0;
@ -671,7 +671,7 @@ sub get_message_account {
} }
} }
my $distance = fastdistance($host, $thost); my $distance = distance($host, $thost);
my $length = (length($host) > length($thost)) ? length $host : length $thost; my $length = (length($host) > length($thost)) ? length $host : length $thost;
#$self->{pbot}->{logger}->log("distance: " . ($distance / $length) . " -- $host vs $thost\n") if $length != 0; #$self->{pbot}->{logger}->log("distance: " . ($distance / $length) . " -- $host vs $thost\n") if $length != 0;
@ -745,7 +745,7 @@ sub get_message_account {
my ($nick1) = $host1 =~ m/^([^!]+)!/; my ($nick1) = $host1 =~ m/^([^!]+)!/;
my ($nick2) = $host2 =~ m/^([^!]+)!/; my ($nick2) = $host2 =~ m/^([^!]+)!/;
my $distance = fastdistance($nick1, $nick2); my $distance = distance($nick1, $nick2);
my $length = (length $nick1 > length $nick2) ? length $nick1 : length $nick2; my $length = (length $nick1 > length $nick2) ? length $nick1 : length $nick2;
my $irc_cloak = $self->{pbot}->{registry}->get_value('irc', 'cloak') // 'user'; my $irc_cloak = $self->{pbot}->{registry}->get_value('irc', 'cloak') // 'user';
@ -1486,7 +1486,7 @@ sub link_aliases {
} }
} }
my $distance = fastdistance($host, $thost); my $distance = distance($host, $thost);
my $length = (length($host) > length($thost)) ? length $host : length $thost; my $length = (length($host) > length($thost)) ? length $host : length $thost;
#$self->{pbot}->{logger}->log("distance: " . ($distance / $length) . " -- $host vs $thost\n") if $length != 0; #$self->{pbot}->{logger}->log("distance: " . ($distance / $length) . " -- $host vs $thost\n") if $length != 0;
@ -1589,7 +1589,7 @@ sub link_alias {
$host2 = lc $host2; $host2 = lc $host2;
my ($nick1) = $host1 =~ m/^([^!]+)!/; my ($nick1) = $host1 =~ m/^([^!]+)!/;
my ($nick2) = $host2 =~ m/^([^!]+)!/; my ($nick2) = $host2 =~ m/^([^!]+)!/;
my $distance = fastdistance($nick1, $nick2); my $distance = distance($nick1, $nick2);
my $length = (length $nick1 > length $nick2) ? length $nick1 : length $nick2; my $length = (length $nick1 > length $nick2) ? length $nick1 : length $nick2;
my $irc_cloak = $self->{pbot}->{registry}->get_value('irc', 'cloak') // 'user'; my $irc_cloak = $self->{pbot}->{registry}->get_value('irc', 'cloak') // 'user';
if ($distance > 1 && ($nick1 !~ /^guest/ && $nick2 !~ /^guest/) && ($host1 !~ /$irc_cloak/ || $host2 !~ /$irc_cloak/)) { if ($distance > 1 && ($nick1 !~ /^guest/ && $nick2 !~ /^guest/) && ($host1 !~ /$irc_cloak/ || $host2 !~ /$irc_cloak/)) {

View File

@ -12,7 +12,7 @@ use parent 'PBot::Core::Class';
use PBot::Imports; use PBot::Imports;
use Text::Levenshtein qw/fastdistance/; use Text::Levenshtein::XS qw/distance/;
use Time::HiRes qw/gettimeofday/; use Time::HiRes qw/gettimeofday/;
sub initialize { sub initialize {
@ -217,7 +217,7 @@ sub is_present_similar {
return 0; return 0;
} }
my $distance = fastdistance($nick, $person); my $distance = distance($nick, $person);
my $length = length $nick > length $person ? length $nick : length $person; my $length = length $nick > length $person ? length $nick : length $person;
if ($length != 0 && $distance / $length <= $percentage) { if ($length != 0 && $distance / $length <= $percentage) {

View File

@ -25,7 +25,7 @@ use PBot::Imports;
# These are set by the /misc/update_version script # These are set by the /misc/update_version script
use constant { use constant {
BUILD_NAME => "PBot", BUILD_NAME => "PBot",
BUILD_REVISION => 4371, BUILD_REVISION => 4372,
BUILD_DATE => "2021-08-27", BUILD_DATE => "2021-08-27",
}; };