Quiz Memorial Forum

Welcome Guest ( Log In | Register )

2 Pages V < 1 2  
Reply to this topicStart new topic
> ipb21.1.tcl, RSS-агрегатор
ASTRALOBJECT
post Jun 10 2008, 08:58 PM
Post #21


Посетитель
*

Group: Members
Posts: 1
Joined: 10-June 08
Member No.: 230



Как можно исправить?
CODE
Обновленный топик ?????? ?????? ? ?????? (http://ek-burg.my1.ru/forum/35-356-1)


В скрипте:
set ipb21(ver) "1.2"
# формат перекодировки
set ipb21(encoding_to) cp1251
ENCODINGFROM=utf-8
TYPE=rss
Бот еггдроп *18
В конфиге:
encoding system iso8859-1
RSS:
http://ek-burg.my1.ru/forum/0-0-0-37
CODE
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Jun 11 2008, 01:06 AM
Post #22


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Установить патченного бота + encoding system cp1251.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Jul 30 2008, 01:26 AM
Post #23


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



Поколдовал тут немного над скриптом. Кое-что добавил, кое-что убрал, кое-что изменил.
  • + Параметр TIMER для фидов.
  • + Пара регекспов для RSS-секции.
  • * Кое-где regexp заменен на string map.
  • Остальное - несущественные мелочи
Итак. Новый параметр.
Теперь для каждого фида можно настраивать частоту обновления.
По умолчанию (ipb21(delay)) время равно 5 минутам.

Т.к. все настройки источников храню в каталоге data/feeds/, то сделал автоматическую загрузку оттуда.
Это - файлы с расширением .bas. Содержимое то же, что и в примере.

Добавлено 2 префикса для команд.
ipb21(pubprefix) и ipb21(msgprefix). Для команды ручного обновления (!cache) используется второй.

Флаг изменен на pubrss, т.е. теперь нужно включать скрипт на определенном канале.

Скрипт я использую только для обычных RSS.
Проверил на своих ботах - все работает.
Ах да, тестил я на патченных ботах. Поэтому, за работу на обычных не ручаюсь. Правда из того, что может повлиять, изменил, разве что, следующее:
код на 572 строке
CODE
if {[string match *[string tolower $keyword]* [string tolower $id]]} {

на
CODE
if {[string match -nocase "*${keyword}*" $id]} {


Особо ничего трогать не рискнул. :))
Если хватит упорства, постараюсь переделать скрипт под http.tcl.

upd (01.08.2008/01:50): немного изменил код. :)
upd (03.08.2008/03:36): немного фиксов и изменений.


Attached File(s)
Attached File  ipb21.1.tcl ( 25.39k ) Number of downloads: 676
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alvor
post Jul 31 2008, 08:33 AM
Post #24


Участник
***

Group: Members
Posts: 30
Joined: 9-March 07
Member No.: 76



Все это хорошо, но при использовании типа rss21 возникает боянная проблема с <![CDATA[ ... ]]> (см. 1ю страницу топика), а при использовании rss вместо автора ставится название rss-потока (например у меня - "Территория общения"). Форум версии 2.3.4
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Jul 31 2008, 03:25 PM
Post #25


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



Думаю, как и с rss-разделом, проблема решится добавлением одного регекспа.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alvor
post Jul 31 2008, 04:43 PM
Post #26


Участник
***

Group: Members
Posts: 30
Joined: 9-March 07
Member No.: 76



вроде бы есть в коде в разделе "ipb21" код regexp -nocase -- {<!\[CDATA\[(.+?)\]\]>} $desc tmp desc, однако все равно...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Jul 31 2008, 07:39 PM
Post #27


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



А точно ли это нужно в секции desc?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Jul 31 2008, 07:53 PM
Post #28


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



В любом случае, можно просто поправить процедуру ::egglib::unhtml.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Aug 1 2008, 12:54 AM
Post #29


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



Поменял обычное деление на целочисленное в процедуре проверки промежутка между запросами источника.
Поменял логику (?) автоматической загрузки источников.
Поправил некоторые мелочи.


Attached File(s)
Attached File  ipb21.1.tcl ( 24.55k ) Number of downloads: 652


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Aug 3 2008, 02:40 AM
Post #30


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



Немного фиксов и изменений.
Возможно была ошибка, когда не выводились новости по таймеру. Теперь точно нет.

В ближайшее время планирую избавиться от регсубов (и стрингмапов) типа
CODE
regsub -all {\\} $arg {\\\\} arg

и добавить выборку по категориям (удобно для новостных фидов).


Attached File(s)
Attached File  ipb21.1.tcl ( 25.39k ) Number of downloads: 662
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kns
post Oct 19 2008, 05:09 AM
Post #31


Посетитель
*

Group: Members
Posts: 7
Joined: 27-June 08
Member No.: 236



Хм. Переделал скрипт под http.tcl, кое-что поправил, кое-что изменил. Сделал все буквально несколько минут назад, так что особо потестить не получилось. Понятно, что выкладывать такое рано, но у меня нет ни времени, ни особого желания гонять на ошибки, а тут всяко больше тестеров...
Поэтому, если кто хочет попробовать, отпишитесь, прилеплю скриптец. smile.gif


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kein
post Mar 24 2009, 08:45 PM
Post #32


Посетитель
*

Group: Members
Posts: 6
Joined: 25-December 07
Member No.: 164



Чем RSS-synd не устраивает?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Mar 24 2009, 09:16 PM
Post #33


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



QUOTE(Kein @ Mar 24 2009, 08:45 PM) *

Чем RSS-synd не устраивает?

Наверное он чего-то не умел на тот момент, либо вообще.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Pages V < 1 2
Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 28th March 2024 - 11:00 PM
Design by GPF © 2006