Revision 3 (by ahitrov@rambler.ru, 2010/03/24 15:19:32) The CORE
%# vim:syn=mason
<%args>
	$name => undef
	$SETS => undef
</%args>
<%init>
	return undef unless ref $SETS and $name and exists $SETS->{$name};

	# �������������...
	my $str = $SETS->{$name};
	if ($request->{local_codepage} ne 'KOI8') {
		$str = Convert::Cyrillic::cstocs($request->{local_codepage}, 'KOI8', $str);
	}

    my $i = 0;
    my $n = 0;
    while ($i < 100) {
        my ($res, $msg) = $rpc_client->id->get_tags_by_names( split(/\s*,\s*/, $str) );
        if ($res->{success} and ref($msg) eq 'HASH') {
            return [keys %$msg];
        }
        $i++
    }
	return [];
</%init>