forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 27.01.2022, 22:03
Nil A
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Nil A написал(а) к Michael Dukelsky в Jan 22 20:35:30 по местному времени:

Нello, Michael!

Thursday January 27 2022 20:16, from Michael Dukelsky -> Nil A:

DO>> Как получить в вывод эху ru.cars.daewoo ?
MD> Ты попался. :)

У меня на ноде я решаю похожие задачи питоном.
1. Он умеет отправлять всем моим линкам %list через txt2pkt.
2. Далее он умеет парсить ответ от всех мне известных типов AreaFix, примерно вот так происходит ветвление
pНpt = re.compile(r'^--- hpt(?:/\S+)? (\S+) (\S+) areafix')
pJnode = re.compile(r'^--- jNode ver. (\S+)')
pFidogate = re.compile(r'^--- FIDOGATE (\S+)')
pSqafix = re.compile(r'^--- SqaFix (\S+)')
pPartoss = re.compile(r'^--- ParToss (\S+)')
pFmail = re.compile(r'From : FMail AreaMgr')
pAreafixService = re.compile(r'From : Areafix Service') # 2:5020/4441
Он также парсит подписан/неподписан, и может сравнить с моим конфигом - я использую для проверки когерентности.
Он также парсит все названия эх, если линк это предоставляет
3. Далее, я беру "кашерные" описания из файлов echo50.lst, подставляю префикс "2:50 Bone:" для них. Кстати, у меня есть функция, которая сравнивает пришедший по файлэхе echo50.lst с текущей подпиской и отправляет подписку на недостающие эхи.
Также беру кашерные echo5020.lst и echo5030.lst
4. Компилирую свой список эх - приоритет описания в echo50.lst/echo5020.lst/echo5030.lst, далее если кто-то из линков добавил описание, но только если это не comment in ('Description missing', 'Эха как эха...', 'Без описания', '<none>', 'Unknown', '?')
Если всё равно ни каких описаний не осталось, то компилирую из префикса и постфикса, вот пример:

prefix2Addr = (
('10.', '2:5034/10'),
('101.', '2:5020/101'),
('1042.', '2:5020/1042'),
('1048.', '2:5030/1048'),
('1081.', '2:5030/1081'),
('1100.', '2:461/1100'),
('115.', '2:5030/115'),
('1641.', '2:5020/1641'),
('2.5083.', '2:5083'),
('29.', '2:5021/29'),
('400.', '2:5020/400'),
('4441.', '2:5020/4441'),
('5015-255.', '2:5015/255'),
('5020-723.', '2:5020/723'),
('5030-1474.', '2:5030/1474'),
('5030-722.', '2:5030/722'),
('5030.230.', '2:5030/230'),
('5030.87.', '2:5030/87'),
('53.', '2:5053/58'),
('54.', '2:5053/54'),
('58.', '2:5053/58'),
('59.', '2:463/59'),
('6666.', '2:463/6666'),
('68.', '2:463/68'),
('715.', '2:5020/715'),
('888.', '2:467/888'),
('altyn.', '2:5020/570'),
('angarsk.', '2:6070'),
('bel.', '2:45'),
('brest.', '2:454'),
('bryansk.', '2:6001'),
('bukovina.', '2:4626'),
('cherkassy.', '2:4635'),
('chernigov.', '2:4634'),
('concord', '2:5053/51'),
('concord.', '2:5053/51'),
('crimea.', '2:460'),
('dn.', '2:464'),
('dnz.', '2:4646'),
('donbass.', '2:4647'),
('edgecity.', '2:5030/115'),
('edgecity.ii.', '2:5030/1115'),
('esp.', '2:343/107'),
('gremlin.', '2:5020/545'),
('grumbler.', '2:5080/102'),
('hobbit.', '2:5023/24'),
('hole.', '2:5010/352'),
('houston.', '2:4624'),
('ip.', '2:466/50'),
('kazan.', '2:5049'),
('kharkov.', '2:461'),
('kiev.', '2:463'),
('klg.', '2:5023/24'),
('komi.', '2:5003'),
('kos.', '2:5034'),
('lorapvt.', '2:460/58'),
('middle.range.rockets', '2:5053'),
('mo.', '2:5020'),
('moldova.', '2:469'),
('mu.', '2:5080'),
('mun.', '2:5031'),
('nikolaev.', '2:466'),
('nino.', '2:5015'),
('nodex.', '2:5020/848'),
('novgorod.', '2:5032'),
('nozdr.', '2:5020/2613'),
('nsk.', '2:5000'),
('odessa.', '2:467'),
('pavlograd.', '2:4647'),
('pclovers.', '2:5059/38'),
('perm.', '2:5054'),
('pskov.', '2:5033'),
('pushkin.', '2:5020/2140'),
('pvt.2.5083.21.', '2:5083/21'),
('pvt.dionizov.', '2:463/1104'),
('r46.', '2:46'),
('r46fe.', '2:46 fileecho'),
('rnd.', '2:5061'),
('rndfido.', '2:5061'),
('roo.', '2:5020/1042'),
('rss.', '2:5020/545'),
('simbirsk.', '2:5051'),
('solovey.', '2:5030/2104'),
('spb.', '2:5030'),
('tdh.', '2:5031/71'),
('tg.', 'Telegram'),
('titanic.', '2:5020/830'),
('tsk.', '2:5005'),
('tula.', '2:5022'),
('tver.', '2:5021'),
('ukhta.', '2:5097'),
('vladimir.', '2:5024'),
('vorkuta.', '2:5003'),
('wit.', '2:5064/54'),
('z.tavsar.', '2:5053/55'),
('zaraza.', '2:5030/2906'),
('zc.', '2:4641'),
)

postfix2Comment = (
('.announce', 'Анонсы'),
('.crisis', 'Сообщения о кpизисах'),
('.echo', 'Локальная эха'),
('.fileecho', 'Файэха'),
('.files', 'Файлы'),
('.forwards', 'Форварды'),
('.humor', 'Юмор'),
('.info', 'Информация'),
('.link', 'Информация для линков'),
('.links', 'Линки'),
('.local', 'Локалка'),
('.official', 'Официоз'),
('.pvt', 'Частная'),
('.robot', 'Робот'),
('.robots', 'Роботы'),
('.stat', 'Статистика'),
('.statistic', 'Статистика'),
('.statistics', 'Статистика'),
('.stats', 'Статистика'),
('.sysop', 'Сисопская эха'),
('.sysop.club', 'Неформальное общение сисопов'),
('.sysop.talks', 'Неформальное общение сисопов'),
('.test', 'Для тестов'),
('.talks', 'Разговоры'),
('.tests', 'Для тестов'),
('sysop.crisis', 'Сообщения о кpизисах'),
)


Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #12  
Старый 27.01.2022, 22:53
Nil A
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Nil A написал(а) к Dmitriy Orlov в Jan 22 21:24:56 по местному времени:

Нello, Dmitriy!

Thursday January 27 2022 22:41, from Dmitriy Orlov -> Nil A:

DO> В общем я увлёкся сабжем и решил создать файл с описанием ваще всех эх
DO> со всех линков :-\ Потом сделать этот файл доступным фидошной
DO> общественности, вдруг кому-то пригодится :)

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

Одно дело распарсить areas.bbs файл пришедший по файлэхе, и другое дело, когда аплинк не даёт в таком формате, и, скорее всего, ты захочешь попарсить вывод от areafix %list.
Довольно быстро ты поймёшь, что разные areafix'ы отвечают в разном формате.
Довольно быстро ты поймёшь, что многие описания эх тебе не подходят, например, "эха как эха", и тебе захочется такие выкинуть из списка.

Пока ты будешь решать данную задачку, то тебе потребуются разные дата-стракчерсы, как минимум разные листы (списочки), хеши (например, для сопоставления эхи и её описания), а также разные алгоритмы для работы с этими структурками, например, сопоставить все записи из списка А, со списком Б по первому полю, или если описание не в списке плохих описаний.

Так то шелл - это классный инструмент, тут можно одной коммандой делать sort, можно заменять что-то на что-то sed, можно сопоставлять типа inner join коммандой join, и всё это можно пускать через пайп, ну прямо функциональное программирование.
Но, спешу тебя обрадовать, что довольно быстро ты сталкёшься с тем, что шелл-скрипт будет разрастаться и становится сильно кудрявым и малоуправляемым, и тут тебе захочется взять какой-то ЯП (язык программировани), в котором будут те самые списочки, хеши, регулярки.
Ты выбри для себя тот самый любимый ЯП, например, питон, пёрл (уже немного устарел), или джава (сможешь потом перейти на написание андроид приложек), или любого другого, обложка книжки которого тебе больше всего привлекает.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #13  
Старый 27.01.2022, 23:12
Dmitriy Romanov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Romanov написал(а) к Dmitriy Orlov в Jan 22 21:04:04 по местному времени:


Приветики, Dmitriy!


Писал как-то Dmitriy Orlov к Nil A примерно 27 Янв 22 в 22:41
А я смотрю и фигею.


NA>> Объединяю с моим предыдущим "inner join".
NA>> sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//;
NA>> s/^\(\S\+\s\+\)\(.*\)$/\1"\2"/'
NA>> о на деле, нет смысла расставлять кавычки, если там нет пробелов, так
NA>> что вот так красивее
NA>> sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//;
NA>> s/^\(\S\+\s\+\)\(\S\+\s\+.*\)$/\1"\2"/'

DO> В общем я увлёкся сабжем и решил создать файл с описанием ваще всех эх со
DO> всех линков :-\ Потом сделать этот файл доступным фидошной общественности,
DO> вдруг кому-то пригодится :)

DO> Чтоб начать мне надо понимать к каким именно эхам у меня нет описания.
DO> Вот например мой файл с описаниями:
Еще немного и ты придумаешь грузить их в базу данных =)

На сем разрешите письмо закончить. Elec (RA2FDR)
--- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
Ответить с цитированием
  #14  
Старый 27.01.2022, 23:33
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: Описание к эхам

Eugene Grosbein написал(а) к Dmitriy Orlov в Jan 22 02:18:20 по местному времени:

27 янв. 2022, четверг, в 22:41 NOVT, Dmitriy Orlov написал(а):

DO> В общем я увлёкся сабжем и решил создать файл с описанием ваще всех эх со всех
DO> линков :-\ Потом сделать этот файл доступным фидошной общественности, вдруг
DO> кому-то пригодится :)
DO> Чтоб начать мне надо понимать к каким именно эхам у меня нет описания.
DO> Вот например мой файл с описаниями:
DO> === Cut ===
DO> MO.CARS "Эха Московских автомобилистов"
DO> MO.CARS.AUDIO "Все об авто-аудиоаппаратуре"
DO> MO.CARS.AUDI_VW "Общение владельцев AUDI и VolskWagen"
DO> MO.CARS.NIVA "Вcе об автомобилях Нива"
DO> MO.CARS.OKA "Все об автомобиле ОКА"
DO> RU.CARS.LADA "Автомобили ВАЗ" === Cut ===
DO> Вот файл от линка:
DO> === Cut ===
DO> ru.cars
DO> ru.cars.daewoo
DO> ru.cars.lada
DO> === Cut ===
DO> Как получить в вывод эху ru.cars.daewoo ?

Допустим, файл "с описаниями" называется desc.txt.
Нужный итог даёт однострочник:

awk -ve="ru.cars.daewoo" -F' *"' 'tolower($1)==e {print $2; exit}' desc.txt

Eugene
--
Поэты - страшные люди. У них все святое.
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #15  
Старый 27.01.2022, 23:52
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: Описание к эхам

Eugene Grosbein написал(а) к Dmitriy Orlov в Jan 22 02:38:23 по местному времени:

28 янв. 2022, пятница, в 02:18 NOVT, Eugene Grosbein написал(а):

DO>> Чтоб начать мне надо понимать к каким именно эхам у меня нет описания.
DO>> Вот например мой файл с описаниями:
DO>> === Cut ===
DO>> MO.CARS "Эха Московских автомобилистов"
DO>> MO.CARS.AUDIO "Все об авто-аудиоаппаратуре"
DO>> MO.CARS.AUDI_VW "Общение владельцев AUDI и VolskWagen"
DO>> MO.CARS.NIVA "Вcе об автомобилях Нива"
DO>> MO.CARS.OKA "Все об автомобиле ОКА"
DO>> RU.CARS.LADA "Автомобили ВАЗ" === Cut ===
DO>> Вот файл от линка:
DO>> === Cut ===
DO>> ru.cars
DO>> ru.cars.daewoo
DO>> ru.cars.lada
DO>> === Cut ===
DO>> Как получить в вывод эху ru.cars.daewoo ?
EG> Допустим, файл "с описаниями" называется desc.txt.
EG> Нужный итог даёт однострочник:
EG> awk -ve="ru.cars.daewoo" -F' *"' 'tolower($1)==e {print $2; exit}' desc.txt

Пардон, неправильно прочитал задачу. Другой однострочник поможет.
Пусть опять же файл "с описаниями" называется desc.txt,
а "файл от линка" называется link.txt. Тогда:

$ awk '{print tolower($1)}' desc.txt | fgrep -xvf- link.txt
ru.cars
ru.cars.daewoo

Eugene
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #16  
Старый 28.01.2022, 21:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 21:54:13 по местному времени:

Нello Nil!

27 Jan 22, Nil A wrote to Dmitriy Orlov:

DO>> В общем я увлёкся сабжем и решил создать файл с описанием ваще
DO>> всех эх со всех линков :-\ Потом сделать этот файл доступным
DO>> фидошной общественности, вдруг кому-то пригодится :)
NA> Друг, я вижу как у тебя увеличивается хотелка: от простова
NA> сопоставления названия эхи в одном файле аплинка, с "описанием ваще
NA> всех эх со всех линков". Давай мы перенесём это упраждение в
NA> теоритичекую плоскость сначала, я готов тебе показать, с чем ты
NA> сталкнёшься на своём пути, решая такую задачу.
Окей Босс! :)

NA> Одно дело распарсить areas.bbs файл пришедший по файлэхе, и другое
NA> дело, когда аплинк не даёт в таком формате, и, скорее всего, ты
NA> захочешь попарсить вывод от areafix %list. Довольно быстро ты поймёшь,
NA> что разные areafix'ы отвечают в разном формате. Довольно быстро ты
NA> поймёшь, что многие описания эх тебе не подходят, например, "эха как
NA> эха", и тебе захочется такие выкинуть из списка.
Ну таких же не много? Можно и ручками подправить..

NA> Пока ты будешь решать данную задачку, то тебе потребуются разные
NA> дата-стракчерсы, как минимум разные листы (списочки), хеши (например,
NA> для сопоставления эхи и её описания), а также разные алгоритмы для
NA> работы с этими структурками, например, сопоставить все записи из
NA> списка А, со списком Б по первому полю, или если описание не в списке
NA> плохих описаний.
Ууу... до этого еще надо дойти... а там уже решать по мере поступления :)

NA> Так то шелл - это классный инструмент, тут можно одной коммандой
NA> делать sort, можно заменять что-то на что-то sed, можно сопоставлять
NA> типа inner join коммандой join, и всё это можно пускать через пайп, ну
NA> прямо функциональное программирование.
То есть моя задача уже выходит за пределы шелла? :)

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #17  
Старый 28.01.2022, 21:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Dmitriy Romanov в Jan 22 21:46:10 по местному времени:

Нello Dmitriy!

27 Jan 22, Dmitriy Romanov wrote to Dmitriy Orlov:

DO>> В общем я увлёкся сабжем и решил создать файл с описанием ваще
DO>> всех эх со всех линков :-\ Потом сделать этот файл доступным
DO>> фидошной общественности, вдруг кому-то пригодится :)
DO>> Чтоб начать мне надо понимать к каким именно эхам у меня нет
DO>> описания. Вот например мой файл с описаниями:
DR> Еще немного и ты придумаешь грузить их в базу данных =)
Я раньше вообще импортировал в эксель, там всё это как-то сортировал, потом выгружал обратно, но это всё было настолько мутрно, что второй раз я уже так делать не стал :)

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #18  
Старый 28.01.2022, 21:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Eugene Grosbein в Jan 22 21:52:56 по местному времени:

Нello Eugene!

28 Jan 22, Eugene Grosbein wrote to Dmitriy Orlov:

EG> Пардон, неправильно прочитал задачу. Другой однострочник поможет.
EG> Пусть опять же файл "с описаниями" называется desc.txt,
EG> а "файл от линка" называется link.txt. Тогда:
EG> $ awk '{print tolower($1)}' desc.txt | fgrep -xvf- link.txt
EG> ru.cars
EG> ru.cars.daewoo
Да, получилось! Это здорово упростит мою задачу! Спасибо!!

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #19  
Старый 28.01.2022, 22:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 00:21:58 по местному времени:

Нello Nil!

28 Jan 22, Dmitriy Orlov wrote to Nil A:

NA>> Друг, я вижу как у тебя увеличивается хотелка: от простова
NA>> сопоставления названия эхи в одном файле аплинка, с "описанием
NA>> ваще всех эх со всех линков". Давай мы перенесём это упраждение в
NA>> теоритичекую плоскость сначала, я готов тебе показать, с чем ты
NA>> сталкнёшься на своём пути, решая такую задачу.
DO> Окей Босс! :)
Я уже понял что ты имел ввиду! Всё у всех по разному, чтоб начало что-то получаться, приходится сначала приводить все к одному виду:

ECНO.TAG Описание конференции

Чтоб не запутаться я разбил всё на разные скрипты, у меня их сейчас 6 штук и я получил первый список недостающих описаний :-) Начал пока с небольших линков, эхи которые понятны по смылу эхотага я опишу сам, а что не понтяно отправил вопрос сисофону, пусть сам описывает. Скоро дойду до 5020/1042, вот настанет то веселье :)))

Да. И похоже есть часть описаний у другого линка, и еще часть можно дернуть с описаний эхобона. Вот думаю как лучше всё это скомпоновать в один файл...:

1. Привести к единому формату
2. Слить всё в один файл
3. Отсортировать
4. Удалить дюпы

Если следовать таким курсом, шеллом удастся удалить дюпы (строки) при совпадении эхотага?

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #20  
Старый 28.01.2022, 22:42
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Michael Dukelsky написал(а) к Dmitriy Orlov в Jan 22 21:35:30 по местному времени:

Привет, Dmitriy!

29 January 2022 00:21, Dmitriy Orlov послал(а) письмо к Nil A:

DO> Если следовать таким курсом, шеллом удастся удалить дюпы (строки) при
DO> совпадении эхотага?

sort -u

Желаю успехов, Dmitriy!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:59. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot