# HG changeset patch # User devi # Date 1138345484 -7200 # Node ID 3326053f9b23353af6ae0f4fbe82dff264733a47 # Parent 1864df6ccbfe2b22674a66f0cb83c57bc137684d Порядок таблиц в начале дня; интервалы бездействия diff -r 1864df6ccbfe -r 3326053f9b23 l3-frontend --- a/l3-frontend Fri Jan 27 00:06:41 2006 +0200 +++ b/l3-frontend Fri Jan 27 09:04:44 2006 +0200 @@ -412,10 +412,10 @@ $Stat{MistypedCommands} ||= 0; my %new_entries_of = ( - "1" => "программы пользователя", - "8" => "программы администратора", - "sh" => "команды интерпретатора", - "script"=> "скрипты", + "1 1" => "программы пользователя", + "2 8" => "программы администратора", + "3 sh" => "команды интерпретатора", + "4 script"=> "скрипты", ); COMMAND_LINE: @@ -431,16 +431,6 @@ next if $Stat{LastCommand} == $cl->{time}; -# Набираем статистику -# Хэш %Stat - - $Stat{FirstCommand} = $cl->{time} unless $Stat{FirstCommand}; - if ($cl->{time} - $Stat{LastCommand} < $Config{stat_inactivity_interval}) { - $Stat{TotalTime} += $cl->{time} - $Stat{LastCommand} - } - $Stat{LastCommand} = $cl->{time}; - $Stat{TotalCommands}++; - # Пропускаем строки, которые противоречат фильтру # Если у нас недостаточно информации о том, подходит строка под фильтр или нет, # мы её выводим @@ -456,6 +446,18 @@ && $Sessions{$cl->{local_session_id}}->{$filter_key} ne $filter{$filter_key}; } +# Набираем статистику +# Хэш %Stat + + $Stat{FirstCommand} = $cl->{time} unless $Stat{FirstCommand}; + if ($cl->{time} - $Stat{LastCommand} < $Config{stat_inactivity_interval}) { + $Stat{TotalTime} += $cl->{time} - $Stat{LastCommand} + } + my $seconds_since_last_command = $cl->{time} - $Stat{LastCommand}; + $Stat{LastCommand} = $cl->{time}; + $Stat{TotalCommands}++; + + # Пропускаем строки, выходящие за границу "signature", # при условии, что границы указаны # Пропускаем неправильные/прерванные/другие команды @@ -543,14 +545,14 @@ - for my $entry_class (keys %new_entries_of) { - my $new_commands_section = make_new_entries_table("$entry_class", \@known_commands); + for my $entry_class (sort keys %new_entries_of) { + my $new_commands_section = make_new_entries_table($entry_class=~/[0-9]+\s+(.*)/, \@known_commands); - my $table_caption = "Таблица ".$table_number++.". Новые ".$new_entries_of{$entry_class}.". ".$Day_Name[$last_wday]; + my $table_caption = "Таблица ".$table_number++.". ".$Day_Name[$last_wday].". Новые ".$new_entries_of{$entry_class}; if ($new_commands_section) { - $result .= "" + $result .= "
" . "" - . "" + . "" . $new_commands_section . "
$table_caption
КомандаОписание
КомандаОписание
" } @@ -567,6 +569,21 @@ $last_wday=$wday; $this_day_result = q(); } + elsif ($seconds_since_last_command > 600) { + my $height = $seconds_since_last_command > 1200 ? 100: 60; + my $minutes_passed = int($seconds_since_last_command/60); + my $minutes_word = $minutes_passed % 10 == 1 ? "минута": + $minutes_passed % 10 == 0 ? "минут" : + $minutes_passed % 10 > 4 ? "минут" : + "минуты"; + + $this_day_result .= "" + . "" + . "" + . "прошло ".$minutes_passed." ".$minutes_word + . "" + . "\n"; + } $this_day_result .= "\n"; @@ -587,6 +604,9 @@ ? "$hour:$min:$sec" : ""; +# CLASS + $this_day_result .= "F"; + # COMMAND my $hint = make_comment($cl->{"cline"}); @@ -697,7 +717,7 @@ for my $c (reverse sort { $CommandsFDistribution{$a} <=> $CommandsFDistribution{$b} } @new_commands) { $hint = make_comment($c); my ($command, $hint) = $hint =~ m/(.*?) \s*- \s*(.*)/; - next unless $command =~ /\($entries_class\)/i; + next unless $command =~ s/\($entries_class\)//i; $new_commands_section .= "$command$hint" if $hint; } }