+  HandyCache форум
|-+  Главная категория» Общие вопросы» Расширения на языке Lua в HandyCache
Имя пользователя:
Пароль:
Страниц: 1 ... 11 12 [13] 14 15 ... 29   Вниз
  Отправить эту тему    Печать  
Автор Тема: Расширения на языке Lua в HandyCache  (Прочитано 438831 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Sogenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #240 : 15 августа 2010, 13:36:28 »

Спасибо, сделал, работает, правда не на всех ресурсах. На этом сайте срабатывает, на некоторых других - нет. Например на http://forum.sevastopol.info и  http://www.linux.org.ru почему-то не вырезает...
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #241 : 15 августа 2010, 14:01:25 »

Если СМ работает с этими сайтами, должна и замена работать.
Сообщить модератору   Записан
Sogenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #242 : 15 августа 2010, 14:10:57 »

В мониторе, в поле "Правила" имеется запись, например СМ:32 hits, СМ:6 hits.....если заходишь на сайты которые я указал выше, но замена не работает 
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #243 : 15 августа 2010, 14:37:55 »

Наверное, кодировка на этих сайтах отличается от той, в которой прописано правило для СМ.
Добавлено: 15 Августа 2010, 14:13:22

Попробовал улучшить ситуацию. Если будет работать без сбоев, внедрим этот экспериментальный вариант окончательно. Обновитесь, плз.
Сообщить модератору   Записан
Sogenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #244 : 15 августа 2010, 14:53:51 »

Да, теперь и на страницах с кодировкой utf-8 работает. Спасибо.

А нельзя сделать так, чтобы расширение рпаботало независимо от регистра символов? Сейчас получается что заменяемое слово ищется строго по регистру символов в котором оно записано в правиле, а если регистр отличается на странице то оно его пропускает.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #245 : 15 августа 2010, 17:13:07 »

А нельзя сделать так, чтобы расширение рпаботало независимо от регистра символов?
Попробовал и с этим побороться.
Сообщить модератору   Записан
Sogenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #246 : 15 августа 2010, 17:20:56 »

Теперь всё замечательно, походил по разным ресурсам - срабатывает везде! Еще раз спасибо.
Сообщить модератору   Записан
Parcher
Постоялец
***

Репутация: +1/-0
Offline Offline

Сообщений: 136


« Ответ #247 : 21 августа 2010, 20:09:07 »

А нет случайно готового списка нецензурных и нежелательных слов? А то самому как-то тошно всякие гадости писать...
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #248 : 21 августа 2010, 20:36:34 »

http://www.google.ru/search?q=словарь+нецензурных+слов
Сообщить модератору   Записан
Parcher
Постоялец
***

Репутация: +1/-0
Offline Offline

Сообщений: 136


« Ответ #249 : 22 августа 2010, 01:51:25 »

Заметил интересную вещь: в слове пускает СМ заменяет выделенные буквы на *** (стоит замена текста). Для СМ без разницы в какой последовательности буквы? Или я где-то ошибся?
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #250 : 22 августа 2010, 14:37:19 »

Покажи какую замену ты попросил СМ сделать.
Сообщить модератору   Записан
Parcher
Постоялец
***

Репутация: +1/-0
Offline Offline

Сообщений: 136


« Ответ #251 : 22 августа 2010, 17:04:54 »

Делал вроде все по инструкции. Правило такое .#~#сука#~#***** (другие слова не пишу здесь)
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #252 : 22 августа 2010, 17:27:36 »

На каком сайте такая проблема с этим правилом?
Сообщить модератору   Записан
Parcher
Постоялец
***

Репутация: +1/-0
Offline Offline

Сообщений: 136


« Ответ #253 : 22 августа 2010, 20:42:34 »

http://vkopt.net.ru/forum/showpost.php?p=32357&postcount=7 и на ютюбе попробовал сделать поиск по слову "пускает" и тоже заменило на п*****ет. Но на этом сайте все нормально  Непонимаю
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #254 : 22 августа 2010, 21:03:02 »

Здесь это оффтоп. Ответил в теме.
Сообщить модератору   Записан
sunserg10
Beta tester
*****

Репутация: +7/-0
Offline Offline

Сообщений: 322


« Ответ #255 : 26 ноября 2010, 18:03:43 »

Пожалуйста, помогите написать расширение...
нужно, чтобы опция Кэш-Управление-Запись в кэш-"Игнорировать no-store"
была активна только для определенных URL.
Т.е. при выключенной опции "Игнорировать no-store",  при загрузке из интернета
по URL:finam\.ru/sp/=.*=42.jpg картинка должна принудительно записываться в кэш.
« Последнее редактирование: 26 ноября 2010, 18:59:05 от sunserg10 » Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #256 : 26 ноября 2010, 20:37:00 »

Как-то так
Код:
--[[ <HCExtension>
@name          Ignore no-store
@rule          finam\.ru/sp/=.*=42.jpg
@event         AnswerHeaderReceived/Answer
</HCExtension> ]]

function Answer()
  hc.action = 'save'
  hc.monitor_string = hc.monitor_string ..'Ignore no-store'
end
Сообщить модератору   Записан
sunserg10
Beta tester
*****

Репутация: +7/-0
Offline Offline

Сообщений: 322


« Ответ #257 : 26 ноября 2010, 22:41:53 »

mai62, спасибо!
Все отлично работает! Держи +.  Отлично!

Немного переделал твое расширение.
Файл eA_Ignore no-store.lua
Код:
--[[ <HCExtension>
@name          Игнорировать no-store (A-Ignore no-store)
@author        mai62
@version       0.1 для HC v1.00 RC3 (1.0.0.303)
@rule          finam\.ru/sp/=.*=42.jpg
@description   Принудительно записывает в кэш файлы (при выключенной опции "Ignore no-store")
@event         AnswerHeaderReceived/Answer
</HCExtension> ]]

function Answer()
  hc.action = 'save'
  hc.monitor_string = hc.monitor_string..'A-Ignore no-store '
end  -- Конец функции Answer
Сообщить модератору   Записан
Tsv
Гость
« Ответ #258 : 06 января 2011, 09:42:44 »

Для моих нужд хочу сохранять результат с заголовком запроса. причем историю (т.е. не в кэш - а чтобы каждое обращение писалось в отдельный файл).
Сел, разобрался с LUA на примерах, написал простенький скрипт. В LuaTest все зашибительно работает - и файлы создаются и содержимое правильное пишется. А из самого HC - работает наполовину. Файлы создаются (т.е. скрипт вызывается), но пустые. Я попробовал допихать еще все вариации названий переменных какие смог придумать (в т.ч. как мануале) - но все равно пусто.
Где ошибка в скрипте?


--[[ <HCExtension>
@name          Сохранять файлы с header
@author        MY
@version       1.0
@description   Сохранить файл
@event         AnswerHeaderReceived/Answer
</HCExtension> ]]

function GetContentType(s)
  _,_,x = string.find(s, '[cC]ontent%-ype: *(.-) *\r?\n')
  if x~=nil then x = string.lower(x) end
  return x
end

function Answer()

 type = GetContentType(hc.answer_header)
 if string.match(type,'text/html') == nil then
    return 1
 end

 local content = hc.header
 content = content..hc.answer_body

 urlname = string.match( hc.url, '([^/:]+)$' )
 if urlname == nil then
  urlname='_'
 end
 filename = 'Z:/hist/'..os.date('%Y-%m-%d_%H-%M-%S_')..urlname
 filename = string.gsub ( filename, "%?", "_")

 local f = assert(io.open(filename, "w"))
 local t = f:write(content)
 t = f:write(hc_answer_body)
 t = f:write(hc.answer_header)
 t = f:write(hc.answer_body)
 t = f:write(hc.hc_answer_body)
 f:close()

end  -- Конец функции Answer

Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #259 : 06 января 2011, 11:51:19 »

Читайте файл HCExtensions.html (находится в архиве с НС в папке Extensions), там написано в обработчиках каких событий  можно использовать каждую переменную.
Для отладочных целей используйте функцию hc.put_to_log(). Она выводит строку в лог НС (лог ведется при нажатой кнопке Вести лог справа от Монитора).
Код:
hc.put_to_log('hc.url='..hc.url)
urlname = string.match( hc.url, '([^/:]+)$' )
hc.put_to_log('urlname='..urlname)
В лог также выводятся сообщения об ошибках.
Отрабатывать алгоритмы, знакомиться с работой функций удобно в программе LuaTest (находится в архиве с НС). В ней также можно использовать функцию hc.put_to_log().
Сообщить модератору   Записан
Страниц: 1 ... 11 12 [13] 14 15 ... 29   Вверх
  Отправить эту тему    Печать  

 
Перейти в: