View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000724 | Plugins | FTP (old) | public | 2009-02-02 14:34 | 2009-03-03 08:25 |
Reporter | dolzenko | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Summary | 0000724: Парсер пропускает ошибки парсинга | ||||
Description | При этом в лог попадают сообщения о ParserFAIL, Обнаружено на файлах на сервере с 5-значной датой, подобные файлы игнорируются клиентов без предупреждения пользователя. Детали здесь - http://forum.farmanager.com/viewtopic.php?p=39591#p39591 | ||||
Additional Information | Т.к. тут http://forum.farmanager.com/viewtopic.php?p=39975#p39975 сказано что раньше выдавалась ошибка, и сигнатуры функции BadFormat рискну сделать предположение в патче даже каким вызовом это делалось :) | ||||
Tags | No tags attached. | ||||
2009-02-02 14:34
|
ftp_FtpAPI.patch (478 bytes)
Index: plugins/ftp/ftp_FtpAPI.cpp =================================================================== --- plugins/ftp/ftp_FtpAPI.cpp (revision 2547) +++ plugins/ftp/ftp_FtpAPI.cpp (working copy) @@ -650,6 +650,7 @@ Line1.c_str() ), ldInt ); Connect->AddCmdLine( Message("ParserFAIL: (%s) [%s]", Parser2Str(idx,&dl), Line1.c_str()) ); + BadFormat( Connect,Line1.c_str(),TRUE ); continue; } |
|
Не думаю, что хорошая идея выдавать это сообщение на каждую непропарсенную строчку. IMHO, лучше это делать один раз на весь литинг, иначе, при наличии кучи таких файлов, заколебёшся жать на ОК. Но это потребует больших переделок. |
|
Хотя... ситуация довольно редкая, так что хрен с ним. Но патчик немного не правильный. В нём в логе строки дублироваться будут. Прилагаю правильный патчик. А на счёт дат нужно подумать... Хотя тут есть две тонкости: во-первых, нужно будет избавляться от SYSTEMTIME, так как оно не поддерживает до такой степени большие года (максимальный год — это 30827); во-вторых, сам фар всё равно вихуально никак не отображает более чем 4-х значные года (хотя и не падает). Так что фиг его знает стоит или не запариваться по этому поводу. |
2009-02-02 17:51
|
ftp_parser_fail.patch (546 bytes)
Index: ftp_FtpAPI.cpp =================================================================== --- ftp_FtpAPI.cpp (revision 2545) +++ ftp_FtpAPI.cpp (working copy) @@ -649,7 +649,7 @@ Parser2Str(idx,&dl), Line1.c_str() ), ldInt ); - Connect->AddCmdLine( Message("ParserFAIL: (%s) [%s]", Parser2Str(idx,&dl), Line1.c_str()) ); + BadFormat(Connect, Message("ParserFAIL: (%s) [%s]", Parser2Str(idx,&dl), Line1.c_str()), TRUE ); continue; } |
|
Ага, проглядел с лишним вызовом. Меня в таком виде гораздо больше устраивает, ИМХО лучше увидеть ясно и как можно раньше, что есть проблемы и воспользоваться для проблемного случая просто другим клиентом, чем потом искать "пропавшие" файлы. |
|
Народ, предлагается немного патч переделать :-) 1. В лог выводить всегда (если не отключен) 2. Вывести диалог первый/N раз (первый в "этом" сеансе коннекта), в нем 2-3 кнопки - типа, "Продолжить", "Прервать парсинг", "ХЗ...". Ну и... например, 1 чекбоск - "показывать ошибки дальше" Второй пункт нужен по любому (в принципе может быть настраиваемым через конфиг), т.к.... лог-файл может быть отключен, и пользователь может "пропустить гол"... |
|
Что-то не осознаю зачем может быть нужна кнопка "Продолжить", про отключенный лог - тоже не осознал, но если там как-то завязано на лог, то почему бы просто не убрать зависимость и просто свалиться? ftp плагин ведь вообще любит это делать :D |
|
Не придирайся к "продолжить" - это были мысли вслух :-) "Продолжить" - это когда... ...хмм, когда происходят ошибки парсинга - однозначно _ВСЁ_ криво парсится или все же часть данных нормально отображается? "если лог отключен" - если это так, то как пользователь узнает, что ему лажу на панели подсовывают? (это в тему "нужен диалог", хотя бы для первого неправильного парсинга) |
|
В моем случае - часть данных отображается нормально (ну т.е. файлы с нормальными датами, а не в 60000м году), однако как я уже писал такое "нормальное" отображание может и с ума свести :) (всмысле когда часть файлов просто отсутсвует в папке) |
|
ну. все правильно. зато ты будешь знать, что что-то не так. без диалога ты это не узнаешь (лог может быть отключен, ты в лог не посмотришь) |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-02-02 14:34 | dolzenko | New Issue | |
2009-02-02 14:34 | dolzenko | File Added: ftp_FtpAPI.patch | |
2009-02-02 15:53 | DiRTy_GaRRy | Note Added: 0002377 | |
2009-02-02 17:51 | DiRTy_GaRRy | Note Added: 0002378 | |
2009-02-02 17:51 | DiRTy_GaRRy | File Added: ftp_parser_fail.patch | |
2009-02-02 23:35 | dolzenko | Note Added: 0002381 | |
2009-03-02 11:02 | vskirdin | Note Added: 0002647 | |
2009-03-02 17:45 | dolzenko | Note Added: 0002660 | |
2009-03-03 06:45 | vskirdin | Note Added: 0002663 | |
2009-03-03 07:53 | dolzenko | Note Added: 0002668 | |
2009-03-03 08:25 | vskirdin | Note Added: 0002670 | |
2013-05-20 20:30 | alexy | Category | FTP => FTP (old) |