X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fisolate.pl;h=c16515a3908f46b940771dd11a73308adbc6e192;hb=ca828d0e2a21d9a6540361ca4878df71f125e120;hp=cefae9dc6dfeab77d6cd30cfdd708002fd6e8e9d;hpb=e67d75717f0625225632cfd12a7a2d899fb692ea;p=spider.git diff --git a/cmd/show/isolate.pl b/cmd/show/isolate.pl index cefae9dc..c16515a3 100644 --- a/cmd/show/isolate.pl +++ b/cmd/show/isolate.pl @@ -8,8 +8,6 @@ # # -use DB_File; - sub handle { my ($self, $line) = @_; @@ -31,18 +29,25 @@ sub generate my @out; my @val; - my ($action, $count, $key, $data) = (0,0,0,0); - - for ($action = DXUser::R_FIRST, $count=0; !$DXUser::dbm->seq($key, $data, $action); $action = DXUser::R_NEXT) { - if ($data =~ m{isolate}) { - my $u = DXUser::get_current($key); - if ($u && $u->isolate) { - push @val, $key; - ++$count; - } - } - } +# my ($action, $count, $key, $data) = (0,0,0,0); +# +# for ($action = DXUser::R_FIRST, $count=0; !$DXUser::dbm->seq($key, $data, $action); $action = DXUser::R_NEXT) { +# if ($data =~ m{isolate}) { +# my $u = DXUser::get_current($key); +# if ($u && $u->isolate) { +# push @val, $key; +# ++$count; +# } +# } +# } + @val = DXUser::scan(sub { + my $k = shift; + my $l = shift; + # cheat, don't decode because we can easily pull it out from the json test + return $l =~ m{"isolate":1} ? $k : (); + }); + my $count = @val; my @l; foreach my $call (@val) { if (@l >= 5) {