Суббота, 18.05.2024, 08:07
Приветствую Вас Гость







Главная

Регистрация


Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум гильдии "Рожденные Летать" » Общение » Беседка » Парсер (чего хотим?)
Парсер
ЧароитДата: Пятница, 15.01.2010, 22:36 | Сообщение # 1
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
итак. как мы все знаем, было написано куча парсеров логов. лично я знаю 3 штуки, причём 2 из них написали мои знакомые. и я, будучи постоянно томимым завистью к пропиарившимся уже людям, решил написать свой. дабы потешить гордость, а плюс к тому - дабы получить наконец-то то, что хочу. в данной теме хотелось бы увидеть, чего нужно людям для комфортного копания в родевых логах.

опять итак. что уже сделано и что точно будет сделано (как раз то, что я хочу):

1) автоматическое сохранение логов. работать будет так. мы запускаем, выбираем - "обработать все логи"/"выбрать логи". тыкаем кнопочку. после чего все или выбранные нами логи обрабатываются и складирутся в спец. папку, имя которой содержит текущую дату. если в настройках была чекнута галочка - оригинальные логи удаляются. при этом, обработанные логи имеют удобный для чтения формат (даже в обычном текстовом редакторе) плюс занимают гораздо меньше места, за счёт удаления боевых частей лога. для примера: лог Берила с 10 метров ужимается до 630 килобайт (он почти не разговаривал), лог Чароита - с 55 метров до 1.5 метра (за последний месяц), лог Элерии, который мне достался с клиентом, - с 450 метров до 45 метров.

2) парсер гибок в настройке. мы указываем ему папку с игрой, папку для логов, формат сохранения логов.... после чего мы можем тыкать кнопочку "обработать", получая удобные для чтения логи.

3) формат лога - (дата)(кто)(язык)(кому)(сообщение)
дата - понятно
кто - кто писал
язык - понятно
кому - кому (в приват) или канал
сообщение - понятно
никакого мусора типа (12312312321), или "сказал персонажу".

4) фильтры. после загрузки обработанного уже лога мы вольны просмотреть всё, либо то, что нам надо. мы можем выбрать - язык, каналы (от одного до всех, приваты рассматриваются как каналы), промежуток дат.

5) логи доступны для редактирования и последующего сохранения

6) хитрое копирование. на практике это будет означать несколько кнопок, каждая из который будет копировать выделенный текст. но - по разному. например: текст "как есть", <имя>: "сообщение" либо книжное:
- о Брелл, вы же знаете, я предан вам навеки, моя любовь! - воскликнул Чароит.
Тилле смутилась.
- Чароит, мне кажется, ты того... сдвинулся... - пробормотал Лагри.

7) все разговоры неписей или с ними сохраняются.

вроде всё. сразу вопросы.

1) я думаю, как показывать текст лога. есть два варианта - стандартный (обычный текстовый редактор) либо "экселевский", в виде таблицы, где дата, кто, кому и т.д. занимает свою колонку.

2) нужна ли функция "предварительной обработки" для ранее сохранённых вручную логов. но, в любом случае, это будет уже после тестового выпуска.

3) нужна ли опция, позволяющая добавлять логи в уже существующие? типа мы их сохранили - получили папку. через месяц опять сохраняем, выбираем - новая или старая папка, и получаем либо новую папку, либо логи добавляются в конец предыдущих.

4) нужна ли способность сохранения фильтров. то есть - посмотрел по фильтру логи, вышел. потом открыл программу - а тебе показывают то же самое.

жду ответов на вопросы, плюс ваши предложения.

 
ТаириДата: Суббота, 16.01.2010, 11:53 | Сообщение # 2
Крыло Вечности
Группа: Администраторы
Сообщений: 475
Статус: Offline
Мррр... Чароит... сейчас буду раскатывать губу.
По пунктам.

1. А можно сделать галочку на перенос обработанных логов в архивную папку? С добавлением к названию даты обработки в формате ГГММДД? Например, Таири_eq2_log.txt переименовывать в Таири_10_01_30 - то есть, логи Таири, обработанные 30 января 2010 года.
Обработать все логи - это тоже очень приятная функция.

2. По поводу формата сохранения логов (я про вывод в конечный текстовый файл, предназначенный уже для выкладывания на форум). А можно сделать автоматическую обработку тэгов для выкладывания на форум? Причем гибкую:
а) Настройка обработки имен персонажей (сейчас все закидывается в тэг , сделать бы ее отключаемой и со включаемой жирностью шрифта)
б) Отключаемое выделение разных каналов разным цветом (см. тут) Совсем идеально, чтобы имелась возможность единожды пометить блок: "общение ведется в чате гильдии" и т.д.

6. а можно поподробнее? мне идея нравится ))))

7. Вот это - очень ценно. И очень хотелось бы возможность найти разговор только с этим НПС

Теперь - ответы на твои вопросы.

1. мне все равно. главное, чтобы читался текст. Но имя я бы предпочла видеть рядом с текстом, а указание канала - до имени.
то есть, в порядке: дата-канал-имя-текст

2.мне не нужна. у меня все оригиналы файлов есть

3. Да, добавление в один файл было бы идеально. Лично для меня была бы еще идеальнее возможность слияния логов - у меня 2 компа, по которым я прыгаю. замучалась уже... То есть, по каждому персонажу есть два файла, в которых сценки идут вперемешку... если бы можно было расположить их в одном файле по дате-времени... я бы тебя расцеловала )))))

4. Да. это тоже очень удобно, желательно - несколько сохраненных фильтров...


Троллей здесь не кормят. Троллей здесь едят.
 
ЧароитДата: Суббота, 16.01.2010, 12:36 | Сообщение # 3
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
Таири

1. а ты готова иметь папку, где не один десяток логов Таири? мне кажется разделение по папкам с датой более удобно. но, конечно, сделать можно.

2. это скорее нужно не при сохранении логов, а при копировании их для выкладывания на форумы. к пункту 6 относится. тоже можно сделать, но не думаю, что будет в самой первой версии.

6. подробнее. выделяем кусок текста из лога. тыкаем на выбор одну из кнопок. получаем в буфере обмена текст с выбранным форматом. например:
[1/1/2010 12:00:00] [Чароит] [в гильдчат] "я крут!"
или
Чароит: "я крут!"
или
"я крут!" - воскликнул Чароит.

если прикрутить настройку форумных тэгов, то сразу получим и цвета, и жирности и т.д.

7. прога не видит разницы между каналами и персонажами. и, опять же, не видит разницы между неписями и игроками. то есть показать разговор с неписем можно точно так же как показать только гилдчат.

ответы на вопросы
1. к сожалению тут выбора уже нет smile я проверил оба варианта - табличный гораздо удобней и для пользователя, и для меня как программиста.

3. про слияние я не думал. но идея интересна, да. причём реализуется просто элементарно за 10 минут. сделаю через окно редактирования логов. выглядеть будет так - загружаем лог, тыкаем "добавить лог", и ещё один добавится с сортировкой по дате.

4. подумаю.

 
ТаириДата: Суббота, 16.01.2010, 13:11 | Сообщение # 4
Крыло Вечности
Группа: Администраторы
Сообщений: 475
Статус: Offline
Чароит,

1. Да, готова. более того, я так и храню - примерно раз в месяц переношу. Вручную.
2. Да, я именно про конечный продукт говорю ).
6. Ммм... а форматирование "Воскликнул, сказал, прошептал" - и т.д - откуда программа будет брать? )))
И опять же... предположим, некоторое количество строк идут блоком в общий чат, затем - блок в гильдчат. Можно ли сделать так, чтобы в конечный файл выводилось:

Например, лог:
Эстерия: Справимся?
Таири: А куда мы денемся
Таири (Гильдия): Ммм... Ребята... Минут через пять подберите наши трупики там-то там-то...
Лагри (Гильдия): лечу.

будет выводиться как:

Эстерия: Справимся?
Таири: А куда мы денемся

Разговор ведется в чате гильдии
Таири: Ммм... Ребята... Минут через пять подберите наши трупики там-то там-то...
Лагри: лечу.

7. так логи же большие... чтобы просто ввести имя (посмотрев точное имя где-нибудь на Норрате...) - и получить. Не ища его в списке

Да... еще один момент... Иногда файлы, особенно большие, бывают повреждены. Можно ли в случае обнаружением парсером "битых" строк или участков - он бы не вылетал с ошибкой, а вежливо сообщал: "не могу расшифровать участок между такой-то и такой-то датой-временем"? Желательно с копированием битого участка в отдельный файл? с пометкой границ участка?
И опять же. Не забывай, что до 17 июня 2009 года был другой формат. желательно, чтобы парсер успешно разбирал оба.


Троллей здесь не кормят. Троллей здесь едят.
 
ЧароитДата: Суббота, 16.01.2010, 13:20 | Сообщение # 5
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
1. ну, значит добавлю.
6. понятно, что такой "художественный" лог будет нуждаться в ручной доработке. "Воскликнул, сказал, прошептал" вполне можно выбирать из основного списка (который я зашью в логику проги) на основе анализа знаков препинания.

нет, в файле лога такого не будет, и быть не может. объясню почему. файл лога доложен быть универсальным, чтобы его можно было в любой момент как угодно обработать. такие же красивости захламят лог разными тэгами, причём смени мы форум, такой лог может стать совершенно бесполезным, так как на разных форумах тэги разные. все эти красивости мы будем получать при копировании кусков лога.

7. значит помимо списка будет текстовое поле, куда можно будет ввести канал или имя.

 
НоэмиДата: Суббота, 16.01.2010, 13:29 | Сообщение # 6
Крыло Силы
Группа: Проверенные
Сообщений: 31
Статус: Offline
Мои пожелания были высказаны в ходе работы над программой, в таком виде она меня полностью устраивает smile Бааааальшое спасибо smile

У добра преострые клыки и очень много яда. Зло, оно как-то... душевнее (с) Рокэ Алва
 
ТаириДата: Суббота, 16.01.2010, 13:32 | Сообщение # 7
Крыло Вечности
Группа: Администраторы
Сообщений: 475
Статус: Offline
Ммм... может, в терминологии немного разберемся? )))

Предлагаю:
1. Исходный файл логов - файл, генерируемый Эверквестом.
2. Файл логов - файл, почищеный парсером, с которым собственно и работает парсер.
3. Конечный файл - текстовик, в который копируется кусок логов для выкладывания на форум. Вот в нем и требуются разного рода красивости. При обработке 8-10 сцен в день,как иногда у меня бывает, вручную на форуме выделять курсивом имена или другие заморочки бывает ооочень тяжело.

ps я там еще немного добавила выше... повторяю вопрос...

Да... еще один момент... Иногда файлы, особенно большие, бывают повреждены. Можно ли в случае обнаружением парсером "битых" строк или участков - он бы не вылетал с ошибкой, а вежливо сообщал: "не могу расшифровать участок между такой-то и такой-то датой-временем"? Желательно с копированием битого участка в отдельный файл? с пометкой границ участка?
И опять же. Не забывай, что до 17 июня 2009 года был другой формат. желательно, чтобы парсер читал все, и старые логи тоже


Троллей здесь не кормят. Троллей здесь едят.
 
ЧароитДата: Суббота, 16.01.2010, 14:10 | Сообщение # 8
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
конечных файлов, в твоём понимании, не планировалось. посмотрю. пункт 3-ий естессно будет. красивости были запланированы в самой базовом варианте smile

битые куски... ну, в "файл логов" они никак не попадут. хорошо, буду скидывать такие куски в отдельный файл. сейчас они просто пропускаются. ну а с ошибками прога вылетать не будет в принципе, будут красивые сообщения, после чего работа будет продолжена.

я не знаю, чем отличаются форматы, но я вот прям щас смотрю логи Рина, которые от 24,02,2008 числа. нормально smile январские логи чароита - тоже прекрасно.

 
ТаириДата: Суббота, 16.01.2010, 14:29 | Сообщение # 9
Крыло Вечности
Группа: Администраторы
Сообщений: 475
Статус: Offline
ммм... а можно тогда не конечный файл, а хотя бы просто представление текста в нужном мне формате (с красивостями), чтобы потом на форум скопировать?.. без сохранения?

чем-то отличались (((. не знаю, чем.

дело в том, что в бтых кусках может быть весьма ценная информация.


Троллей здесь не кормят. Троллей здесь едят.
 
ЧароитДата: Суббота, 16.01.2010, 14:35 | Сообщение # 10
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
1) это будет точно.
2) я вот тоже не знаю чем. но работает smile
3) понимаю. но на то битые куски и битые, что фиг с ними что сделаешь smile буду необработанные строки кидать в отдельный лог.
 
ТаириДата: Суббота, 16.01.2010, 14:50 | Сообщение # 11
Крыло Вечности
Группа: Администраторы
Сообщений: 475
Статус: Offline
мррррр... спасибо! ))))
а как планируешь реализовать работу с личками? как каналы - это понятно. Но будут отображаться все корреспонденты или только те, с которыми шла беседа в указанный период?


Троллей здесь не кормят. Троллей здесь едят.
 
ЧароитДата: Суббота, 16.01.2010, 16:28 | Сообщение # 12
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
да как захотите. лично я думаю в списке оставлять все каналы и лички, но недоступные помещать в конец списка и закрашивать серым, попутно сделав невозможным их выбор. для информации. как вариант вынести в настройки галочку - показывать всех, как я описал выше, либо показывать только доступные.

итак, завтра планирую выложить самую первую тестовую версию, дабы дать посмотреть. что точно будет:
1) первичная обработка (без удаления оригинальных логов)
2) редактирование
3) копирование в простейших двух вариантах (всё, либо в формате <имя>: "текст")
4) простейшая фильтрация.

ПС. ненавижу майкрософт... почему их стандартные методы работают по 20 секунд, а моя самописная замена меньше одной? sad

 
ТинихусДата: Понедельник, 18.01.2010, 12:30 | Сообщение # 13
Золотое крыло
Группа: Проверенные
Сообщений: 27
Статус: Offline
Под вистой работает, уже радость ))

баг1. Не регулируется высота строк в зоне просмотра лога. У меня они отображаются в очень разных вариациях, иногда даже не видно фразы в одну строку. Хотелось бы как-нибудь принудительно приводить к какому-то одному значению или хотя-бы мышой растягивать высоту отдельных строк.
баг2. При вызове функций Копирования в буфер ("в формате" или "без"), Лог копируется задом наперёд - начиная от новейших записей, заканчивая самыми старыми. Читать и обрабатывать дальше не удобно. В отображении при этом всё в порядке - записи выстроены последовательно, начиная с самых старых.

ПС в стандартные методы майкрософт встроены фоновые функции подключения к интернету и отправка отчёта Биллу Гейтсу tongue


обращение с ядами и кислотой требует особой осторожности и точности. Правда, если после удара все гоблины уже лежат - собственно какая разница?..
 
ЧароитДата: Понедельник, 18.01.2010, 12:45 | Сообщение # 14
Крыло Силы
Группа: Администраторы
Сообщений: 29
Статус: Offline
баг1. странно. можно скриншот? по идее как раз расчитывается высота каждой строки так, чтобы всё было видно.
баг2. ясно, исправлю.
 
ТаириДата: Пятница, 22.01.2010, 07:50 | Сообщение # 15
Крыло Вечности
Группа: Администраторы
Сообщений: 475
Статус: Offline
Или я заработалась, или что-то не так... Можно обрабатывать логи, которые находятся только в указанной в настройке папке, или можно открыть любой файл?..

Троллей здесь не кормят. Троллей здесь едят.
 
Форум гильдии "Рожденные Летать" » Общение » Беседка » Парсер (чего хотим?)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: