1) По поводу сортировки.
Как вариант, выставить на папке подкаста определённый режим, например mpTrack.
А в "Скрипте чтения списка ресурсов" после команды создания элемента
Item := HmsCreateMediaItem(sLink, FolderItem.ItemID); // Создаём элемент подкаста
там, где присваиваются им разные свойства, также добавить присвоение свойства через идентификатор mpiTrack значение номера созданного элемента.
У нас в скрипте есть счётчик - переменная gnTotalItems, которая увеличивается командой
после каждого создания элемента. А значит каждый раз будет на единицу больше.
Значит, там где устанавливаем свойства созданного элемента, можно добавить команду
Item.Properties[mpiTrack ] := gnTotalItems;
И после этого, при установленном режиме сортировки в mpTrack и обновления подкаста, элементы будут внутри отсортированы по этому свойству. А у наших элементов это свойство - у каждого свой номер увеличивающийся.
2) Создание списка фильмов страницы Топ 100
В команде Item := FolderItem.AddFolder(gsUrlBase+"/?do=top100&mode=rating/"), насколько я понимаю, последнего слеша не должно быть. Страница с такой ссылкой в браузере ругается на не существование такой страницы.
Должно быть так:
Item := FolderItem.AddFolder(gsUrlBase+"/?do=top100&mode=rating");
Но тут так быстро ответить не получится.
Откройте эту страницу в браузере - видите, там напрочь по-другому выглядит список. А значит наш скрипт, который ищет ссылки на фильмы в загруженной странице ("Скрипт чтения списка ресурсов") нужно именно под эту страницу писать.
Помните, мы в шаблоне меняли строку на:
RegEx := TRegExpr.Create('<div class="short-story">(.*?)<div class="clear">', PCRE_SINGLELINE);
Это мы задавали регулярное выражения поиска блоков текста, которые начинаются на <div class="short-story"> и кончаются <div class="clear">. Между ними блок текста содержал ссылки на фильм, название и проч.
Так вот на странице "Топ 100" - эти значения в нашем скрипте должны быть другие.
Два варианта:
а) В скрипте чтения списка ресурсов сделать проверку: мы обновляем список не Топ 100 случайно? Если Топ 100 - то не загружаем все 10 страниц по циклу, а только одну и используем другие значения для поиска блоков текста, содержащих информацию о фильме.
б) На данный раздел (подкаст) сделать персональный скрипт чтения списка ресурсов. Вставить шаблон и его под него переделать.
3) Такая ситуация могла возникнуть, когда активной папкой была главная папка подкаста (которая содержит другие разделы) и вы зашли в редактирование скрипта чтения списка ресурсов и там начали отладку, т.е. запустили скрипт, который загрузил страницу по ссылке, которая указана в этой папке (видимо ссылка на сам сайт там) и там нашла и создала ссылки на фильмы. Получается что с главной страницы сайта.
Насчёт идеи обновления раздела "Главное" и создание ссылок в корневой папке. Думаю, реализуемо даже. Только нужно понять, что обычно, при обновлении подкастов - в начале главной процедуры скрипта есть команда
FolderItem.DeleteChildItems; // Очищаем существующие ссылки
она подчищает ранее созданные ссылки и создаёт список заново. А у вас там кроме ссылок ещё и папки! Их же желательно не удалять?
Если очистку ранее созданных не делать, тогда кроме проблемы что там будет со временем копиться миллион ссылок, так ещё и с сортировкой что-то тоже придумывать.
Sony Bravia KDL-32CX523