local base = _G

module('ms_test_ru') --Имя модуля (совпадает с именем файла)

Parameters = 
			{ 
				Charset       = 'utf-8',								--Кодировка, используемая сайтом (может быть windows-1251)
				SearchUrl     = 'http://test.ru/search.html?s=%s',		--Url для поиска
				LoginUrl      = 'http://login.test.ru/',		    	--Url регистрации на сайте (POST)
                LoginHtml     =                                         --Регистрационная форма, которая используется для автоматического входа 
	'<html>\n' ..                                                       --на сайт по нажатию кнопки "Перейти на сайт"
	'<head>\n' ..
	'</head>\n' ..
	'<script type="text/javascript">\n' ..
	' setTimeout("document.login.submit()", 500);\n' ..
	'</script>\n' ..
	'<body>\n' ..
	' <form method="POST" name="login" action="http://login.test.ru/">\n' ..
	'  <input type="hidden" name="login" value="%s">\n' ..
	'  <input type="hidden" name="password" value="%s">\n' ..
	' </form>\n' ..
	'</body>\n' ..
	'</html>',
                Body          = 'login=%s&password=%s',					--Используется для регистрации на сайте (POST)
				Method        = 'POST',				    				--Тип первого запроса (может быть и GET)
				Login         = true,									--Если на сайте требуется регистрация, то здесь ставим true, иначе - false
				String        = ''
			}


function ListMedia(answer)  --answer - содержимое html-страницы
local a, i = {}, 0 --создаём таблицу "a" и задаём начальный индекс таблицы
--Здесь код для скрапинга страницы результатов поиска--------------------------------------------
a[i] = {} --нулевой элемент таблицы
a[i].link = 'http://test.ru/12345' --ссылка на страницу фильма
local d = 'Название фильма'
a[i].title_ru = base.m_simpleTV.Common.string_fromUTF8(d) --Русскоязычное название фильма
d = 'Name of the films'
a[i].title_en = d --Англоязычное название фильма (если есть)
a[i].title_full = base.m_simpleTV.Common.string_fromUTF8('Название фильма / Name of the films') --Полное название фильма
i = i + 1 --увеличиваем счётчик и далее по кругу
--Навигация по страницам "Следующие' и 'Предыдущие'
base.m_simpleTV.User.MediaSearch.NextPage = nil
base.m_simpleTV.User.MediaSearch.PrevPage = nil
local content = base.findpattern(answer, '<a class="more%-items"(.-)</a>', 1, 0, 0)
if not content then return a end
--Ссылка на следующую страницу
d = base.string.match(content, 'href="(.-)"', n)
if d then base.m_simpleTV.User.MediaSearch.NextPage = 'http://test.ru' .. base.string.gsub(d, "&amp;", "&") end
-------------------------------------------------------------------------------------------------
--Здесь в большинстве достаточно только ссылки и названия фильма, остальная информация добывается
--ниже в функции InfoMedia
return a --возвращаем полученный список
end
------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------
function InfoMedia(answer, data)
a = data
a.playlink = {}
a.playtype = {}
a.playlink[0] = a.link --ссылка для воспроизведения
a.playtype[0] = 'vd' --тип качества (vd - видео, hd - HD, hdr - HDRIP, bdr - BDRIP, camr - CAMRIP,
						--dvdr - DVDRIP, satr - SATRIP, sd - SD, tvr - TVRIP
--Здесь код для скрапинга страницы фильма--------------
--Ниже что заполняем, если оно есть на странице
a.serial = false --  фильм (false) или сериал (true)
a.duration = 'продолжительность'
a.genre = 'жанр'
a.rating = 'рейтинг'
a.image = 'постер'
a.year = 'год'
a.country = 'страна'
a.avail = 0 -- доступность (0 - Платно, 1 - Бесплатно, 2 - Эротика, 3 - Недоступно, 4 - Неизвестно)
a.descr = 'описание'
a.actor = 'актёры'
a.director = 'режиссёр(ы)'
a.size = 'размер файла (на торрентах)'
a.seed = 'число раздающих'
a.voice = 'озвучка'
a.quality = 'качество (если ссылка на фильм одна)'
a.age = 'возрастное ограничение'
-------------------------------------------------------
return a --возвращаем полученную информацию
end
------------------------------------------------------------------------------------------------------------------

--Код, который используется если Parameters.Login = true,
--реализует поисковый запрос после успешной регистрации
function SearchCode(session, url, str, answer)          --Шапка функции (обязательно в таком виде)
 --Здесь ваш код (к примеру формирование строки категорий и url)---------------------------------------------------------
 local category = m_simpleTV.User.MediaSearch.category	--Если категории фильмов нет, то пишем local category = ''
 url = base.string.format(url, category, str)			--Формирование url из строки, заданной в Parameters.SearchUrl
 return base.m_simpleTV.WinInet.Get(session, url)		--Собственно сам запрос (всегда GET)
 ------------------------------------------------------------------------------------------------------------------------
end

function GetUrl(mode, name)
 if mode == "Search" then
  local url = Parameters.SearchUrl
  return base.string.format(url, base.m_simpleTV.Common.string_toUTF8(name))
 end
end