Домашний медиа-сервер (UPnP, DLNA, HTTP) Домашний медиа-сервер (UPnP, DLNA, HTTP) Домашний медиа-сервер (UPnP, DLNA, HTTP)
Главная Решения пользователей программы "Домашний медиа-сервер (UPnP, DLNA, HTTP)"
 
Текущее время: Пт дек 09, 2022 2:11 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Скрипт загрузки фоток с сайта.
СообщениеДобавлено: Чт сен 23, 2010 8:18 am 
Возможно кому-то будет интересно.
Добавил скрипт в Настройка-Медиа-Ресурсы-Список каталогов-Обработка
Запускается по расписанию каждые 2 минуты. Загружает фотки с сайта на комп.
Включил автоматическое сканирование каталогов при изменении.
Включил группирование если количество элементов в папке превышает 100

Выражение для группировки сделал по дате создания
Copy(mpCreateDate,7,4) + "\" + Copy(mpCreateDate,4,2) + "\" + Copy(mpCreateDate,1,2)

За код скрипта строго не судите - документации по программированию нет. Главное работает.
Так методом проб и ошибок напримере имеющихся скриптов в программе.

Мож кто доработает или расширит возможности.
Изначально хотелось не сами фотки грузить а http ссылки на них.
Но не получилось. Ссылки в каталог добавляются миниатюры видны но на медиаплеере (WDTV LIVE) их не видно.
Может у кого получится это сделать.

Код:
Const
  PCRE_CASELESS   = $00000001;
  PCRE_DOTALL     = $00000004;
  PCRE_SINGLELINE = PCRE_CASELESS + PCRE_DOTALL;
  HttpFilePath = "http://www.photodom.com/daily_photos/";
  LocalFilePath = "d:/photodom/";

  procedure ProcessItem(const aItemDescr: string);
  var
    Item, ItemFolder: THMSScriptMediaItem;
  var
    i, j: Integer;
    sItemDate, sItemID, sItemLink, sItemTitle, sItemThumbnail,sItemFile,
    sMediaConfig, sVideoDuration, sVideoID, sVideoLink, sVideoType: string;

  begin
          sItemLink := ReplaceStr(aItemDescr,"thumb_","");
          i := EndPos(sItemLink,'/');
          j := Length(SItemLink);
          sItemFile :=  Copy(sItemLink,i+1,j+1-i);
          sItemFile := LocalFilePath + sItemFile;
          i := EndPos(sItemFile,"jpg");
          if i <> 0 then
            if FileExists(sItemFile) then
                sItemFile := ""
            else
                HmsDownloadURLToFile(sItemLink, sItemFile);
  end;

  procedure ProcessPage(const aWebPage: string);
  var
    ItemsRegExpr: TRegExpr;
  begin
    ItemsRegExpr := TRegExpr.Create('tmpsrc="(.*?)" src=', PCRE_SINGLELINE);
    try
      if ItemsRegExpr.Search(aWebPage) then repeat
       ProcessItem(ItemsRegExpr.Match)
      until not ItemsRegExpr.SearchAgain
    finally
      ItemsRegExpr.Free
    end
  end;

var
  sWebPage: string;
begin
  sWebPage := HMSDownloadURL(HttpFilePath);
  ProcessPage(sWebPage);
end.


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB