Personal Video Database

Русский => Разработчикам => Тема начата: Resha от 04 Июля 2008, 11:03:58

Название: Разработка скриптов (вопросы)
Отправлено: Resha от 04 Июля 2008, 11:03:58
Импорт с сайта скриншотов.
     Массив ссылок на скриншоты уже получил, но подгружается только один (первый скриншот) и тот ставится вместо постера.

Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 04 Июля 2008, 18:19:43
Скрипты пока не могут грузить никакие изображения кроме постера, сорри. Ф-циональность скриптов всё время расширяется так, что возможность загружать скриншоты появится.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 15 Ноября 2008, 18:35:56
Решил покодить немного , хочу попробовать создать скрипт для сайта киномания , инструктаж почитал , Нотепад ++ установил. Образцы страниц с сайта скачал . Есть вопросы :
Есть программа через которую можно запустить этот скрипт отдельно , или опишите работу функции ShowMessage

Программа Нотепад++ поддерживает синтаксис различных языков программирования , данный скриптовый язык ближе к чему относится , я наобум поставил Postscript , хотя не то

Появилась новая версия движка на странице загрузки 0.2.0.0 , пробовал сделать обновление но рамеры не совпадают ( ПВД 0.9.9.1 scriptins.dll от 29.10.08) , в ней есть какие нибудь изменения , или принципы построения команд и все остальное остались прежние.

Название: Re: Разработка скриптов (вопросы)
Отправлено: Tsume от 15 Ноября 2008, 18:39:49
2 djek-ural
Я открываю всегда через AkelPad, он на ура все читает!!! Рекомендую!
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 15 Ноября 2008, 19:16:32
Цитировать
Есть программа через которую можно запустить этот скрипт отдельно

Зачем? Саму программу просто запускай с параметром -debug. В Help -> Log можно следить, что происходит

Цитировать
или опишите работу функции ShowMessage

ShowMessage('Test', 'Information'); //Создаёт окно с заголовком Information и тесктом Test


Цитировать
Программа Нотепад++ поддерживает синтаксис различных языков программирования , данный скриптовый язык ближе к чему относится , я наобум поставил Postscript , хотя не то

Pascal

Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 16 Ноября 2008, 12:13:47
И самое главное опишите функции ввода данных в ячейки Бюджет и Сборы , на этом сайте эти данные сушествуют , и еще бы не помешало дату релиза.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 16 Ноября 2008, 13:26:16
И самое главное опишите функции ввода данных в ячейки Бюджет и Сборы , на этом сайте эти данные сушествуют , и еще бы не помешало дату релиза.

Нужно использовать вот эту ф-цию:
AddFieldValueXML(const AField: WideString; AValue : WideString);

//переменная Value содержит значение поля
AddFieldValueXML('budget', Value); //Бюджет
AddFieldValueXML('money', Value); //Сборы
AddFieldValueXML('rdate', Value);  //Дата релиза
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 17 Ноября 2008, 11:10:11
Я тут немного запутался , есть вопрос
Допустим в результатах поиска получили список фильмов которые нужно пропарсить и вывести в список , но в сайте есть один недостаток он показывает не больше 4 фильмов , а если надо больше пожалуйста отдельная страница , запрос на эту страницу выглядит почти также как и запрос на поиск http://www.kinomania.ru/search4.shtml?text=%C3%EE%F2%E8%EA%E0&to-search=%EF%EE%E8%F1%EA , за исключением нескольки элементов http://www.kinomania.ru/search6.shtml?fsearch=2&text=%D7%F3%E6%E8%E5 , так вот как загрузить эту страницу.
Просто передать в переменную Result := , запрос в виде УРЛ адреса , или я что то не понимаю.

П.С. Кодинг идет очень медленно , приходится наряду с программированием изучать некоторые основы Паскаля.

Добавил
Можно ли использовать функцию GetDownloadURL еще раз кроме начала , т.е вставить её в середине где нибудь , я как понял загрузка второй страницы начинается когда в переменную второго адреса попадает адрес и в Result := , значение prDownload , после этого происходит выход из программы и вроде бы её перезапуск , но как сохраняется адрес второй страницы если эта переменная снова обьявляется и соответственно стирается. Вроде бы так понял.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 19 Ноября 2008, 15:21:24
с адресом разобрался , но немогу допереть как работает механизм загрузки других страниц ( не постеров ) , извиняюсь но изучал Бейсик , а переход на Паскаль нельзя сделать за несколько дней.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 19 Ноября 2008, 18:50:40
что конкретно не понятно? все страницы загружаются одинакого, сама картинка должна быть загружена последней.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 19 Ноября 2008, 19:31:03
Мне непонятно как это происходит , вот допусти в переменную CreditsURL попал адрес страницы для загрузки , а в переменную Result := psDownload , по идее сейчас должна идти процедура загрузки страницы GetDownloadURL , а её нет до самого конца программы , и получается что программа заканчивает работу. Ну еще в переменную Mode :=  smSearch.

Т.е получается при стечение этих переменных скрипт запускается снова , и соответственно вначале инициализируются адрес загрзки страницы и режим работы программы.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 01 Декабря 2008, 15:12:41
Кажись до меня доперло , Result - это имя процедуры , тогда все вопросы сразу же снимаются.
ПС продолжаю осваивать книгу Turbo Paskal начальный курс
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 03 Декабря 2008, 00:44:52
Кажись до меня доперло , Result - это имя процедуры , тогда все вопросы сразу же снимаются.
ПС продолжаю осваивать книгу Turbo Paskal начальный курс

Так и есть. В некоторых языках это имя ф-ции, в некоторых return, тут Result, но значение одно - возвращаемое значение ф-ции.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 03 Декабря 2008, 01:14:29
Мне непонятно как это происходит , вот допусти в переменную CreditsURL попал адрес страницы для загрузки , а в переменную Result := psDownload , по идее сейчас должна идти процедура загрузки страницы GetDownloadURL , а её нет до самого конца программы , и получается что программа заканчивает работу. Ну еще в переменную Mode :=  smSearch.

Т.е получается при стечение этих переменных скрипт запускается снова , и соответственно вначале инициализируются адрес загрзки страницы и режим работы программы.

Значит так:
Плагины работаю таким образом:
1. подгружается библиотека
2. проверяется наличие в ней нужных ф-циё и т.д.
3. программа спрашивает у плагина что ей делать
4. результат выполнения действия передаёт плагину
5. спрашивает что делать дальше
...
6. отгружает библиотеку

Это в общих чертах. Теперь подробно на примере плагина получения информации из интернет:
1. Ищем нужные ф-ции в плагине
2. Спрашиваем у плагина данные для логина на сайт [GetLoginInfo]
2.1. Если данные получены - логинимся
3. Выясняем кодовую страницу для использования по умолчанию (если плагин предоставляет эту информацию) [GetCodePage]
4. Программа говорит плагину, что начинается работа (плагин имеет возможность инициализировать переменные или сделать другие подготовительные процедуры)
5. Передаём плагину список польз. полей (если он их поддерживает)
6. Запрашиваем у плагина URL [GetDownloadURL]
7. Загружаем данные
8. Передаём полученные данные плагину и спрашиваем, что делать дальше [ParsePage]
8.1. Если плагин говорит, что получил список фильмов, то получаем его и показываем окно для выбора
8.1.1. Загружаем URL выбранный пользователем
8.1.2. Переходим к п. 8
8.2. Если плагин говорит, что нужно загрузить ещё одну страницу, то берём у него URL [GetDownloadURL]
8.2.1. Переходим к п. 8
8.2. Если плагин получил данные по фильму и/или постер, то присваиваем их фильму
9. Говорим плагину, что работа закончена

В квадратных скобках указаны ф-ции вызываемые в скрипте.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 05 Декабря 2008, 12:51:21
А вот как работать с новыми функциями , можно создать процедуру

Wait(2000); //ждёт 3 секунды
Для добавления изобраыжения передавать путь к нему вот так:
AddImageURL(0, 'http://www.test.com/test.jpg'); //первый параметер: 0 - Poster, 1 - Screenshot, 2 - Front cover, 3 - CD Cover

пример....
 procedura DownloadPoster(.......)
 (обьявляем переменные)
 begin
 парсим страницу и ишем адрес изображения
 передаем её функции
 AddImageURL(0, 'http://www.test.com/test.jpg')
 проверяем если конец списка изображений то все иначе парсим дальше
 end

ну и по аналогии для других типов изображения.




Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 06 Декабря 2008, 11:30:28
Я уже поднимал тему возможности добавления нескольки файлов к 1 фильму , что если сделать проше , можно ли сделать скрипт который бы работал как сканер файлов но заполнял пользовательские поля , и еще сколько максимум пользовательских полей можно добавить в новой ветке 0.9.9.x
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 06 Января 2009, 13:54:13
Вопрос к Ностра , такой связанный с модификацией скрипта от NewSky ;
вылезает сообшение в логе

06.01.2009 17:44:55: Could not compile script: kino.psf
[Hint] (664:10): Variable 'Result' never used
[Error] (688:9): Syntax error
[Error] (688:9): Syntax error

на строке под номером 688 , записано следуюшее
pri := `` ;
переменная типа WideString
У меня есть описание ошибок для Турбо Паскаля , но там номера этой ошибки нет
Добавил:
С ней вроде бы разобрался , удалил эту строку , вылезает следуюшая

06.01.2009 19:57:18: Could not compile script: kino.psf
[Hint] (664:10): Variable 'Result' never used
[Error] (715:13): Type mismatch

копия 715 строки
    pri := Tmp(i) ;
соблюдена полная орфография
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 06 Января 2009, 19:40:56
Что это за ф-ция такая Tmp() ??? Если pri - WideString, то ф-ция Tmp должна возвращать WideString, чего она очевидно не делает...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 06 Января 2009, 20:39:47
Привожу пример части программы , что бы разобраться можно было , а также еще одну подпрограмму которая используется:
Для справки моя подпрограмма берет значение длительности в строковом типе , формата " 96 мин" , преобразует его в цифры , вычисляет часы и минуты , и переводит обратно в строковый формат "01:36:00" , подпрограмма вся написана , но не проходит стадию компиляции...

// Удаляет из строки все, что не является цифрой
function CheckNum(s: widestring): widestring;
var
 st: widestring;
 i: integer;
begin
 if pos('€', s) > 0 then
  delete(s, 1, 7);
 if pos('¥', s) > 0 then
  delete(s, 1, 6);
 for i := 1 to length(s) do
   if (s >= '0') and (s <= '9') then
     st := st + s;
 result := st;
end;

function CorrectTime ( Tmp : WideString ) : WideString ;
Var
 stime , pri : WideString;
 prim : Char;
 i , tm , hour , min , data : Integer;
 raz1 , raz2 , raz3 : Boolean ;
 begin
 i := 0 ;
 tm := 0 ;
 hour := 0 ;
 min := 0 ;
 raz1 := False ;
 raz2 := False ;
 raz3 := False ;
 Tmp := CheckNum (Tmp);
  if length(Tmp) = 3 then
   begin
    raz1 := True ;
    raz2 := True ;
    raz3 := True ;
   end ;
    if length(Tmp) = 2 then
     begin
     raz2 := True ;
     raz3 := True ;
    end ;
     if length(Tmp) = 1 then
      begin
       raz3 := True ;
      end ;
  begin
  for i := 1 to length(Tmp) do
   if raz1 then
    begin
   prim := Tmp(i) ;
     case prim of
      `0`: tm := tm + 0 ;
      `1`: tm := tm + 1*100 ;
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 07 Января 2009, 09:00:05
prim имеет тип Char, значит в выделенной строчке вероятно должно быть:
prim := Tmp; //Квадратные скобки
Название: Re: Разработка скриптов (вопросы)
Отправлено: Aig от 08 Января 2009, 14:03:19
[Error] (688:9): Syntax error
[Error] (688:9): Syntax error
на строке под номером 688 , записано следуюшее
pri := `` ;
переменная типа WideString
У меня есть описание ошибок для Турбо Паскаля , но там номера этой ошибки нет
Давненько не брал я в руки шашек... На дельфе уже не программирую, но в паскале по-моему не было таких кавычек - `. По крайней мере я не видел, чтобы их использовали. Попробуй заменить ` на нормальные - ' .
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 08 Января 2009, 17:44:39
Цитировать
Попробуй заменить ` на нормальные - ' .

Да, действительно кавычки не те.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 08 Января 2009, 18:31:02
Цитировать
Попробуй заменить ` на нормальные - ' .

Да, действительно кавычки не те.

Да с кавычками я действительно обложался , в книге написано было выделять апострофом , вот и подумал что тот который был в строке рядом с цифрами , где буква Ё .
Огромное спасибо Aig за подсказку :) :) :)
Название: Re: Разработка скриптов (вопросы)
Отправлено: Alik от 09 Января 2009, 12:36:40
To: djek-ural

Во первых несколькими постами выше указана неправильная функция CheckNum
Правильно так:

// Удаляет из строки все, что не является цифрой
function CheckNum(s: widestring): widestring;
var
 st: widestring;
 i: integer;
begin
 if pos('&#8364;', s) > 0 then
  delete(s, 1, 7);
 if pos('&#165;', s) > 0 then
  delete(s, 1, 6);
 for i := 1 to length(s) do
   if (s[i] >= '0') and (s[i] <= '9') then
     st := st + s[i];
 result := st;
end;
Обратите внимание на квадратные скобки после переменной s, в которых указан индекс символа.

Во вторых сделать преобразование времени в нужный формат можно проще:

// Возвращает число, переведенное в текст. Преобразует значения вида Х в значение вида 0Х
// То есть, например, заменяет 1 на 01.
Function Zero(I: Integer): WideString;
Var
 S: String;
Begin
 S := IntToStr(I);
 If Length(S) = 1 Then S := '0' + S;
 result := S;
End;

// Функция перевода времени из формата ХХХ мин в формат ХХ:ХХ:ХХ
Function CorrectTime(Time: WideString): WideString;
Var
 Tmp: Integer;
Begin
 Tmp := StrToInt(CheckNum(Time));
 Result := Zero(Tmp Div 60)+':'+Zero(Tmp Mod 60)+':00'; // Два нуля в конце - это секунды, можно убрать
End;

Я не тестил, но 99% код рабочий.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Января 2009, 12:57:22
To: djek-ural

Во первых несколькими постами выше указана неправильная функция CheckNum
Правильно так:

// Удаляет из строки все, что не является цифрой
function CheckNum(s: widestring): widestring;
var
 st: widestring;
 i: integer;
begin
 if pos('&#8364;', s) > 0 then
  delete(s, 1, 7);
 if pos('&#165;', s) > 0 then
  delete(s, 1, 6);
 for i := 1 to length(s) do
   if (s[i] >= '0') and (s[i] <= '9') then
     st := st + s[i];
 result := st;
end;
Обратите внимание на квадратные скобки после переменной s, в которых указан индекс символа.

Во вторых сделать преобразование времени в нужный формат можно проще:

// Возвращает число, переведенное в текст. Преобразует значения вида Х в значение вида 0Х
// То есть, например, заменяет 1 на 01.
Function Zero(I: Integer): WideString;
Var
 S: String;
Begin
 S := IntToStr(I);
 If Length(S) = 1 Then S := '0' + S;
 result := S;
End;

// Функция перевода времени из формата ХХХ мин в формат ХХ:ХХ:ХХ
Function CorrectTime(Time: WideString): WideString;
Var
 Tmp: Integer;
Begin
 Tmp := StrToInt(CheckNum(Time));
 Result := Zero(Tmp Div 60)+':'+Zero(Tmp Mod 60)+':00'; // Два нуля в конце - это секунды, можно убрать
End;

Я не тестил, но 99% код рабочий.


Спасибо большое за подсказку , я так то прогрммировал на Бейсике , и это моё первое творение на Паскале , возможно что некоторых функций процедур я еще не знаю...
Последнеяя моя редакция также была немного оптимизирована , за счет выведения нескольки строк кода в разряд процедур...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 12 Января 2009, 07:44:34
А вот как работать с новыми функциями , можно создать процедуру

Wait(2000); //ждёт 3 секунды
Для добавления изобраыжения передавать путь к нему вот так:
AddImageURL(0, 'http://www.test.com/test.jpg'); //первый параметер: 0 - Poster, 1 - Screenshot, 2 - Front cover, 3 - CD Cover

пример....
 procedura DownloadPoster(.......)
 (обьявляем переменные)
 begin
 парсим страницу и ишем адрес изображения
 передаем её функции
 AddImageURL(0, 'http://www.test.com/test.jpg')
 проверяем если конец списка изображений то все иначе парсим дальше
 end

ну и по аналогии для других типов изображения.


Хотелось бы услышать по подробнее об этих функциях , особенно последней , например можно ли с помошью последней функции реализовать в скриптах множественную загрузку изображений с окном выбора , но скорее всего нет так как нет процедуры которая собирала адреса превьюшек для отображения ....
Ну или можно просто организвать загрузку всех изображений
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 12 Января 2009, 12:13:43
Цитировать
например можно ли с помошью последней функции реализовать в скриптах множественную загрузку изображений с окном выбора

с окном выбора - Нет

Цитировать
Ну или можно просто организвать загрузку всех изображений

Да, вызвав ф-цию AddImageURL для каждого постера
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 14 Января 2009, 14:34:58
Ну и самый главный вопрос.
при вызове данной процедуры актуально ли правило что нужно вызывать её в последнюю очередь , или можно сделать так допустим загрузил страницу постеров пропарсил адреса картинок , загрузил картинки , далее загружаем страницу скриншотов парсим и загружаем картинки скриншотов .
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 14 Января 2009, 14:39:34
можно вызывать когда угодно.

П.С. честно говоря у меня руки не дошли протестировать этот ф-ционал так, что гарантировать работоспособность этой ф-ции не могу
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Февраля 2009, 15:43:38
Требуется помощь , пишу скрипт и понадобилась функция задержки , только не разобрался в каком формате там написано время...
Цитировать
Wait(2000); //ждёт 3 секунды
может имелось в виду 2000 - 2 секунды , или я не понял в каком виде записан формат времени
это пока к неспеху , примерно написано 5 % кода , до пробного запуска еще далеко
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 09 Февраля 2009, 18:31:03
Цитировать
может имелось в виду 2000 - 2 секунды

Да
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Февраля 2009, 19:01:16
Еще хочу добавить к скрипту возможность загрузки Обоев , и хочу их засунуть в один из этих категорий
Цитировать
2 - Front cover, 3 - CD Cover
Сколько они вмешают картинок , или можно грузить сколько хочешь , и вообше будут ли они отображать большие картинки , на сайте размеры были до 1280*1024
Название: Re: Разработка скриптов (вопросы)
Отправлено: Tsume от 09 Февраля 2009, 19:15:36
Цитировать
вообше будут ли они отображать большие картинки , на сайте размеры были до 1280*1024
Это же элементарно проверяется, вставил картинку и делов-то. Ради эксепремента вставил обоину 2560*1600, без проблем добавилось.
Цитировать
Сколько они вмешают картинок , или можно грузить сколько хочешь
По одной на каждую категорию, автор вроде хотел сделать неограниченое количество....но видно еще руки не дошли ;)
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 09 Февраля 2009, 19:46:22
Цитировать
вообше будут ли они отображать большие картинки , на сайте размеры были до 1280*1024

По большому счёту единственное ограничение на размер картинок - это кол-во установленной ОЗУ...

Цитировать
Сколько они вмешают картинок , или можно грузить сколько хочешь
По одной на каждую категорию, автор вроде хотел сделать неограниченое количество....но видно еще руки не дошли Подмигивающий

Шариш тему, Tsume
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 10 Февраля 2009, 18:28:25
Вопрос такой  , как можно добавлять персон :
1. Всех сразу...
2. или можно по одному по очереди

Столкнулся с тем что на сайте в описание фильма у некоторых персон есть УРЛ а у некоторых нет , хотелось бы сохранить УРЛ для персон ...
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 11 Февраля 2009, 00:18:45
Персоны добавляются отдельно вот этой ф-цией:
AddMoviePerson(Name, TransName, Role, URL : WideString; const AType : Byte)
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 11 Февраля 2009, 03:07:38
как быть вот с такой строкой
В ролях:</strong> <a href='/stars/c/camilla_belle/index.shtml'>Камилла Белль</a>, Стивен Стрейт, Клифф Кертис, <a href='/stars/o/omar_sharif/index.shtml'>Омар Шариф</a>, Тим Бэрлоу, Рис Ричи, Марко Канлиан, Мо Зинал, Доэль Вирджил Вирсет, Хосе Вас  и др.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 11 Февраля 2009, 03:13:17
А какие проблемы то?
Объявляем переменные для хранения имени, урла и роли (если нужно). Когда все 3 переменные заполнены добавляем персону и парсим следующую.
 
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 11 Февраля 2009, 03:27:01
А какие проблемы то?
Объявляем переменные для хранения имени, урла и роли (если нужно). Когда все 3 переменные заполнены добавляем персону и парсим следующую.
 

Мне приходится делать дополнительную проверку , с чего начинается персона с имени или с УРЛ , из за этого код растет как на дрожах , и еще проблемы с концовкой , может быть три конца строки #13#10 , ',' , ' и другие' , я так то все это уже написал , просто хотел спросить есть какие простые варианты...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 11 Февраля 2009, 15:39:01
Хотел спросить поддерживается ли сушествуюшей версией скриптового движка операции с файлами , я тут один эксперимент хочу провести , цель , научить точно определять персон русская или английская , для этого мне надо немного статистики , просто хочу чтобы при работе скрипта часть информации скидывалась в файл и он работал как своеобразный сборник информации .
Так то думаю пока собирать инфу в специальное пользовательское поле , но с файлом было бы удобнее ...
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 12 Февраля 2009, 01:48:49
А какие проблемы то?
Объявляем переменные для хранения имени, урла и роли (если нужно). Когда все 3 переменные заполнены добавляем персону и парсим следующую.
 

Мне приходится делать дополнительную проверку , с чего начинается персона с имени или с УРЛ , из за этого код растет как на дрожах , и еще проблемы с концовкой , может быть три конца строки #13#10 , ',' , ' и другие' , я так то все это уже написал , просто хотел спросить есть какие простые варианты...

Более простых вариантов нет.

Хотел спросить поддерживается ли сушествуюшей версией скриптового движка операции с файлами , я тут один эксперимент хочу провести , цель , научить точно определять персон русская или английская , для этого мне надо немного статистики , просто хочу чтобы при работе скрипта часть информации скидывалась в файл и он работал как своеобразный сборник информации .
Так то думаю пока собирать инфу в специальное пользовательское поле , но с файлом было бы удобнее ...

Да, вот такие ф-ции есть:

function FileExists(const AFileName : WideString) : Boolean;

function ChangeFileExt(const AFileName : WideString; const Ext : WideString) : WideString;

function FileToString(const AFileName : WideString) : WideString;

procedure StringToFile(const AFileName : WideString; const AData : WideString; const DoAppend : Boolean; const UTF8 : Boolean);
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 12 Февраля 2009, 02:54:50

Да, вот такие ф-ции есть:

function FileExists(const AFileName : WideString) : Boolean;

function ChangeFileExt(const AFileName : WideString; const Ext : WideString) : WideString;

function FileToString(const AFileName : WideString) : WideString;

procedure StringToFile(const AFileName : WideString; const AData : WideString; const DoAppend : Boolean; const UTF8 : Boolean);

Огромное спасибо  ;) , работа со скриптом продвигается , уже написано 50 % кода , возможно сегодня вечером буду тестировать  :)
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 12 Февраля 2009, 06:22:49
По какой-то причине в список импорта не попадают скрипты, предназначенные для загрузки постеров и персон.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 12 Февраля 2009, 11:08:22

Да, вот такие ф-ции есть:

function FileExists(const AFileName : WideString) : Boolean;

function ChangeFileExt(const AFileName : WideString; const Ext : WideString) : WideString;

function FileToString(const AFileName : WideString) : WideString;

procedure StringToFile(const AFileName : WideString; const AData : WideString; const DoAppend : Boolean; const UTF8 : Boolean);

Посмотрел в книжке , нет описаний таких команд , поэтому будут спрашивать здесь:
Мои предположения

Цитировать
function FileExists(const AFileName : WideString) : Boolean;
Эта функция проверяет сушествует ли файл с данным именем AFileName , и соответственно возврашает true или false

Цитировать
function ChangeFileExt(const AFileName : WideString; const Ext : WideString) : WideString;
Сменяет расширение файла с именем AFileName на расширение Ext , только что она возврашает  ???

Цитировать
function FileToString(const AFileName : WideString) : WideString;
а здесь все понятно , извлекает содержимое файла AFileName , на выходе получаем содержимое файла

Цитировать
procedure StringToFile(const AFileName : WideString; const AData : WideString; const DoAppend : Boolean; const UTF8 : Boolean);
это процедура для записи в файл под именем AFileName , содержимого строки AData , также при записи информации влияют флаги
     DoAppend - если правда то дополняет файл , если ложь то переписывает
     UTF8 - устанавливает кодировку если правда то 2х байтовая , ложь обычная кодировка типа ANSI
И еще вопрос где будет создан файл , если в скрипте я просто укажу имя с расширением , я так понимаю в папке Scripts
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 12 Февраля 2009, 17:59:02
Скрипт написан , буду тестировать , скоро выложу релиз 0.1.0.1 версии  :)
Название: Re: Разработка скриптов (вопросы)
Отправлено: NewSky от 12 Февраля 2009, 18:07:46
Скрипт написан , буду тестировать , скоро выложу релиз 0.1.0.1 версии  :)

А, что хоть за скрипт? Очень заинтриговал :)
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 12 Февраля 2009, 20:12:17
Цитировать
По какой-то причине в список импорта не попадают скрипты, предназначенные для загрузки постеров и персон.

Движок скриптов постеры пока не поддерживает, а вот персоны должны работать. Там нужно правильный тип вернуть. Пример есть для world-art-а.

Цитировать
Цитировать
function ChangeFileExt(const AFileName : WideString; const Ext : WideString) : WideString;
Сменяет расширение файла с именем AFileName на расширение Ext , только что она возврашает  Непонимающий

Собственно файл с изменённым расширением и возвращает.

Цитировать
И еще вопрос где будет создан файл , если в скрипте я просто укажу имя с расширением , я так понимаю в папке Scripts

Этот путь может варьировать, но скорее всего в папке Plugins (там где скриптовый движок).

Цитировать
Цитата: djek-ural от 12 Февраля 2009, 17:59:02
Скрипт написан , буду тестировать , скоро выложу релиз 0.1.0.1 версии  Улыбающийся

А, что хоть за скрипт? Очень заинтриговал Улыбающийся

Да уж, действительно  ::)
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 13 Февраля 2009, 02:40:16
Весь сюрприз испортили , скрипт для сайта KinoMania.ru , только чет пока не робит , или на сайте форму отображения изменили , буду дальше его до ума доводить...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 13 Февраля 2009, 07:32:11
Весь сюрприз испортили , скрипт для сайта KinoMania.ru , только чет пока не робит , или на сайте форму отображения изменили , буду дальше его до ума доводить...

Короче нашел причину , функция HTMLToText , она почему то вырезает из текста теги <br> , хотя в описание ничего подобного нету , и тем самым она испортила мне половину уникальных ссылок.
Временно отключил , все заработало , но пока еще дорабатываю ...
И еще в текушей бете почему то в режиме -debug не создается страница которую скрипт загружал последней
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 14 Февраля 2009, 00:44:14
Цитировать
Короче нашел причину , функция HTMLToText , она почему то вырезает из текста теги <br> , хотя в описание ничего подобного нету , и тем самым она испортила мне половину уникальных ссылок.

Так ф-ция предназначена для преобразования HTML в просто текст, соответсвенно всё, что можно преобразовать в знаки ф-ция конвертирует...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 14 Февраля 2009, 03:27:51
К Ностра

Я отправил вам на почтовый яшик текушую версию своего скрипта , чет у меня не получается загрузка 2 страницы , посмотрите подскажите в чем дело...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 15 Февраля 2009, 05:07:21
Вчера целый день попытался заставить скрипт работать , но чет мне кажется что скрипт не воспринимает команды типа Result := prDownload; ,  я установил на вызов функции загрузки сообшение , и оно показывается только один раз когда идет загрузка 1 -ой страницы , потом когда получен второй УРЛ , скрипт правильно определяет параметы и устанавливает новый режим Mode := smSearch2; , после этого идет строка кода результатом которой является  Result := prDownload; ,  по идее должно появится сообшение что заработала функция загрузки , но скрипт в этом месте просто заканчивает работу ...
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 15 Февраля 2009, 09:27:45
Вчера целый день попытался заставить скрипт работать , но чет мне кажется что скрипт не воспринимает команды типа Result := prDownload; ,  я установил на вызов функции загрузки сообшение , и оно показывается только один раз когда идет загрузка 1 -ой страницы , потом когда получен второй УРЛ , скрипт правильно определяет параметы и устанавливает новый режим Mode := smSearch2; , после этого идет строка кода результатом которой является  Result := prDownload; ,  по идее должно появится сообшение что заработала функция загрузки , но скрипт в этом месте просто заканчивает работу ...
Готов помочь в меру своих сил.
Приведи проблемный код.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 16 Февраля 2009, 02:46:09
Вчера целый день попытался заставить скрипт работать , но чет мне кажется что скрипт не воспринимает команды типа Result := prDownload; ,  я установил на вызов функции загрузки сообшение , и оно показывается только один раз когда идет загрузка 1 -ой страницы , потом когда получен второй УРЛ , скрипт правильно определяет параметы и устанавливает новый режим Mode := smSearch2; , после этого идет строка кода результатом которой является  Result := prDownload; ,  по идее должно появится сообшение что заработала функция загрузки , но скрипт в этом месте просто заканчивает работу ...
Готов помочь в меру своих сил.
Приведи проблемный код.

Спасибо , но здесь проблема не в коде , а какая то другая причина , на уровне взаимодействия скрипта с движком...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 16 Февраля 2009, 03:51:02
Все , скрипт заработал , как надо , проблема была в этом
До
function ParsePage ( HTML : WideString ; URL : String ) : Cardinal ;

После
function ParsePage(HTML:WideString;URL:String):Cardinal;

Видимо из за этого функция не воспринималась движком , как главная функция , но опять же она компилировалась программой , почему ошибки не было  ???
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 16 Февраля 2009, 22:51:12
Не могу добиться от функции AddImageURL загрузки нескольких изображений одного типа за один раз. Изображения разного типа грузятся, а из изображений одного типа загружается только первое из загружаемых.
Nostra, в этом (http://www.videodb.info/forum_ru/index.php?topic=212.msg4361#msg4361) посте ты сказал, что загрузка всех изображений возможна путем последовательного вызова этой функии для каждого изображения. Это действительно так? Это реализовано в текущей бете? Или, может быть, я чего-то не так понял?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 17 Февраля 2009, 00:33:59
Все , скрипт заработал , как надо , проблема была в этом
До
function ParsePage ( HTML : WideString ; URL : String ) : Cardinal ;

После
function ParsePage(HTML:WideString;URL:String):Cardinal;

Видимо из за этого функция не воспринималась движком , как главная функция , но опять же она компилировалась программой , почему ошибки не было  ???

Нет, проблема оказалась в том, что у тебя переменная с именем URLFullMovies объявлена сначала глобально, а потом в ParsePage ещё раз локально... Локальную копию нужно убрать.

Цитировать
Не могу добиться от функции AddImageURL загрузки нескольких изображений одного типа за один раз. Изображения разного типа грузятся, а из изображений одного типа загружается только первое из загружаемых.
Nostra, в этом посте ты сказал, что загрузка всех изображений возможна путем последовательного вызова этой функии для каждого изображения. Это действительно так? Это реализовано в текущей бете? Или, может быть, я чего-то не так понял?

Там, ошибка в программе из-за которой грузится только первый адрес. Если нужно тебе для тестов, то могу дать версию где это испралено.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 17 Февраля 2009, 00:37:37
Цитировать
Не могу добиться от функции AddImageURL загрузки нескольких изображений одного типа за один раз. Изображения разного типа грузятся, а из изображений одного типа загружается только первое из загружаемых.
Nostra, в этом посте ты сказал, что загрузка всех изображений возможна путем последовательного вызова этой функии для каждого изображения. Это действительно так? Это реализовано в текущей бете? Или, может быть, я чего-то не так понял?

Там, ошибка в программе из-за которой грузится только первый адрес. Если нужно тебе для тестов, то могу дать версию где это испралено.
Я был бы крайне, крайне благодарен. И смог бы ещё до выхода новой беты обнадежить людей, ожидающих постерный и скриншотный скрипты с КиноПоиска.
Но в любом случай, ты меня здорово успокоил. Если даже не сможешь дать, смиренно подождём новой беты.

И параллельно вопрос: попытался установить тип скрипта stPoster=2, а в программе он видится как скрипт загрузки информации о людях.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 17 Февраля 2009, 00:48:14
Отослал фикс на указаный в твоём профиле email.

Цитировать
И параллельно вопрос: попытался установить тип скрипта stPoster=2, а в программе он видится как скрипт загрузки информации о людях.

Сорри, но пока можно делать скрипты только для загрузки информации (о фильмах или людях).
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 17 Февраля 2009, 01:00:35
Отослал фикс на указаный в твоём профиле email.
Благодарности моей нет предела. Все получено, все работает.  :D

Цитировать
И параллельно вопрос: попытался установить тип скрипта stPoster=2, а в программе он видится как скрипт загрузки информации о людях.
Сорри, но пока можно делать скрипты только для загрузки информации (о фильмах или людях).
Будем довольствоваться тем, что есть.  :)

По горячим следам: если постеры уже есть, то из скрипта ни один не добавляется.
Но в любом случае, это лучше, чем ничего.
Спасибо за твой труд.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 17 Февраля 2009, 01:09:26
Цитировать
По горячим следам: если постеры уже есть, то из скрипта ни один не добавляется.

А в настройках перезаписи полей галка на постерах правильная стоит?

Цитировать
Спасибо за твой труд.

Всегда рад помочь ;)
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 17 Февраля 2009, 01:18:28
Цитировать
По горячим следам: если постеры уже есть, то из скрипта ни один не добавляется.

А в настройках перезаписи полей галка на постерах правильная стоит?

Цитировать
Спасибо за твой труд.

Всегда рад помочь ;)
Блин, молю прощения.
Иногда горячие следы как горячие блинчики - можно обжечься.
Все работает, если этого захотеть...
или хотя бы посмотреть в настройки.  :)
Ещё раз извиняюсь.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 17 Февраля 2009, 03:08:46
Обидно , в воскресенье вечером я как раз чистил переменные и удалил её , но последуюшие пробные запуски к ничему не привели , только в понедельник утром скрипт заработал , каким то чудом ...
Правда я в ней еще столько изменений и дополнений сделал...
 ПС Александр вышлите мне тож пофиксенный вариант , а то жалко будет тестировать возможность множественной загрузки без загрузки последних , ток яшик у меня на 5 мб , на данный момент программа научилась брать результаты и правильно отображать их в окне выбора , работаю на парсингом основной информации по фильму ....

ППС Может мы не зря взяли еще одного человека в команду и он по честному танцует с бубном ... Помогает ведь  ;D ;D
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 17 Февраля 2009, 03:22:23
Цитировать
Обидно , в воскресенье вечером я как раз чистил переменные и удалил её , но последуюшие пробные запуски к ничему не привели , только в понедельник утром скрипт заработал , каким то чудом ...

Дело в том, что сам сайт некоректно работал эти дни...

Цитировать
ПС Александр вышлите мне тож пофиксенный вариант , а то жалко будет тестировать возможность множественной загрузки без загрузки последних , ток яшик у меня на 5 мб , на данный момент программа научилась брать результаты и правильно отображать их в окне выбора , работаю на парсингом основной информации по фильму ....

Выслал. Там не больше 2 Мб...

Цитировать
ППС Может мы не зря взяли еще одного человека в команду и он по честному танцует с бубном ... Помогает ведь  Смеющийся Смеющийся

Вне всяких сомнений!
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 17 Февраля 2009, 03:30:20
Сейчас правда работа идет медленно , я летом записался в команду тест группы журнала хакер , и каждый месяц где то до 19 числа , мне нужно прочитать журнал и выставить оценки за статьи ...
Ну я это к тому , что скрипт будет готов где то к пятнице...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 22 Февраля 2009, 03:58:21
Чет я запутался , вызываю функцию AddImageURL(0,URL);
а она ничего не грузит , сейчас пока сайт недоступен но потом проверю...

И еще где то в конце скрипта когда дело доходит до сбора информации по описанию , рецензии итд
программа зависает и не реагирует ни на какие раздражители , кроме аварийного завершения процесса в диспетчере задач...

В настояшее время скрипт успешно собирает информацию по фильму , кроме последнего о чем я писал...
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 22 Февраля 2009, 15:42:55
Как обычно выслал вам скрипт для проверки
Проблемы описанные мною так и остались...
Сейчас даже как то не до постеров , хотя бы скрипт до ума довести , что бы данные заносились...

Вот как раз вопрос , если по мере работы скрипта некоторые данные вносятся в базу , и если сделать выход из скрипта функцией Exit; , данные будут отображаться в базе , или нужно правильное завершение работы скрипта
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 01 Марта 2009, 19:38:43
2 nostra: а можно доработать скриптовую функцию AddImageURL для работы с персонами? [Срочность: низкая]
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 02 Марта 2009, 00:49:36
2 nostra: а можно доработать скриптовую функцию AddImageURL для работы с персонами? [Срочность: низкая]

В программировании нет ничего невозможного (ну почти ;). Сделаю.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 02 Марта 2009, 07:23:44
В программировании нет ничего невозможного (ну почти ;). Сделаю.
Я, кстати, тоже так считаю :). Спасибо.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 11 Марта 2009, 23:46:56
2 nostra
Можно ли доработать скриптовый движок для доступа к эпизодам при обновлении сериала? Желателен полноценный доступ с возможностью получения и записи всех полей эпизодов.
На данный момент особо не горит, но потенциально нужно для реализации функциональности, подобной стандартному плагину IMDB.com.
В принципе, будет достаточно, если будут функции AddFieldValue и AddFieldValueXML, но работающие с последним добавленным эпизодом.
[Срочность: низкая]
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 12 Марта 2009, 00:07:57
Запись думаю смогу довольно быстро сделать т.к. плагины это уже могут, а вот получение информации думаю попзже добавлю.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 12 Марта 2009, 00:12:02
Запись думаю смогу довольно быстро сделать т.к. плагины это уже могут, а вот получение информации думаю попзже добавлю.
Ну с полноценным доступом я, конечно, на будущее разошелся. Светлое и счастливое :)
Но если хотя бы запись будет, буду очень благодарен.
Спасибо за твой труд.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 12 Марта 2009, 00:15:20
Цитировать
Ну с полноценным доступом я, конечно, на будущее разошелся. Светлое и счастливое Улыбающийся

Да, потихоньку всё реализую ;)

Цитировать
Спасибо за твой труд.

И тебе спасибо за скрипты и поддержку FAQ.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 14 Марта 2009, 11:44:41
1. Существует ли функция для записи из скрипта в лог программы?
2. Можно ли в функциях StringToFile и FileToString указывать относительные пути? Меня интересует два пути: путь к каталогу с программой и путь к каталогу с файлом базы данных. К этому можно добавить путь к временной папке.
Сейчас файлы без пути сохраняются рядом с базой данных.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 14 Марта 2009, 11:45:30
Цитировать
И еще вопрос где будет создан файл , если в скрипте я просто укажу имя с расширением , я так понимаю в папке Scripts

Этот путь может варьировать, но скорее всего в папке Plugins (там где скриптовый движок).
Сейчас файлы без указания пути сохраняются рядом с файлом базы данных.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 14 Марта 2009, 15:18:32
Цитировать
1. Существует ли функция для записи из скрипта в лог программы?

Будет ;)
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 14 Марта 2009, 15:52:26
Цитировать
1. Существует ли функция для записи из скрипта в лог программы?

Будет ;)
Спасибо.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 27 Марта 2009, 08:22:29
Хотел узнать по какому методу формируется поисковый запрос программой , что бы реализовать его в скрипте.
Это буквы , а точнее их машинные коды , но переведенные в шестнадцатеричный формат.
И если в скрипте функция для такого преобразования , а то как то писать свою неохота , хотя можно , на бейсике уже писал.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 27 Марта 2009, 12:09:18
Эм, сори, но что-то я не пойму что за запрос ты имеешь ввиду. Ф-ций для преобразования в HEX или двоичный формат пока движок скриптов не предоставляет.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 27 Марта 2009, 21:26:09
Хотел узнать по какому методу формируется поисковый запрос программой , что бы реализовать его в скрипте.
Это буквы , а точнее их машинные коды , но переведенные в шестнадцатеричный формат.
И если в скрипте функция для такого преобразования , а то как то писать свою неохота , хотя можно , на бейсике уже писал.
Может быть, не стоит так глубоко залезать в этот вопрос? Тем более, что дублирование функций не есть гуд.
nostra сказал (http://www.videodb.info/forum_ru/index.php?topic=384.msg5314#msg5314), что хочет сделать удаление артиклей в следующей версии. Может, обождать?

Эм, сори, но что-то я не пойму что за запрос ты имеешь ввиду.
Видимо, имеется ввиду запрос вида http://www.kinomania.ru/search4.shtml?text=%D2%C5%D1%D2 при импорте информации с сайтов.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 29 Марта 2009, 10:35:24
2 nostra
Можно ли добавить в функцию AddMoviePerson новый, фиктивный, тип участника AType, чтобы была возможность, во-первых, занести в список персон персону, добавляемую в пользовательское поле карточки фильма, и сохранить её url, во-вторых?
Аналогичный фопрос с функцией AddPersonMovie.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 29 Марта 2009, 13:35:37
Цитировать
Можно ли добавить в функцию AddMoviePerson новый, фиктивный, тип участника AType, чтобы была возможность, во-первых, занести в список персон персону, добавляемую в пользовательское поле карточки фильма, и сохранить её url, во-вторых?
Аналогичный фопрос с функцией AddPersonMovie.

Я пока не буду этого делать т.к. без дальнейшей правильной обработки этих доп. типов программы в этом нет никакого смысла.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 29 Марта 2009, 14:09:46
Цитировать
Можно ли добавить в функцию AddMoviePerson новый, фиктивный, тип участника AType, чтобы была возможность, во-первых, занести в список персон персону, добавляемую в пользовательское поле карточки фильма, и сохранить её url, во-вторых?
Аналогичный фопрос с функцией AddPersonMovie.

Я пока не буду этого делать т.к. без дальнейшей правильной обработки этих доп. типов программы в этом нет никакого смысла.
Что-то я не понял, почему нет смысла ???. Попробую объяснить на примере.
При помощи скрипта/плагина обновляется информация о фильме. Скрипт с сайта получает информацию о персонах, для которых нет стандартного поля, и, по согласию пользователя (он же добавил пользовательское поле), добавляет информацию о таких персонах в пользовательское поле, делая из персоны ссылку по аналогии со стандартным полем, т.е. ссылку на персону в списке персон. Но, к сожалению, ссылка работать не будет, пока эта персона не будет добавлена вручную или косвенно через добавление в стандартное поле фильма. Так вот, существует определенная группа профессий, люди из которых, возможно, никогда не попадут в стандартные поля, и, следовательно, пользователю программы придётся набивать их имена в списке персон вручную.
Я от этого фиктивного поля многого не прошу: нужно, чтобы персона просто добавилась в список персон, и всё, как-будто её ввели вручную. Это можно сделать и другой функцией. А URL, по возможности, в довесок, раз он всё равно есть на момент добавления персоны.
Это просьба совершенно не срочная и никакой "дальнейшей правильной обработки", IMHO, не требует.

Прошу прощения, если моя тирада выглядит так, как будто я настаиваю на своей просьбе. Ни в коем случае. Просто не понял ответа :-\, который, возможно, возник из-за непонятности вопроса.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 29 Марта 2009, 17:54:28
Польз. тип персон планируется. Я имел в виду, что в ближайшее время поддержки таких типов не будет в программе (скорее всего в 1.0), то делать её в скриптах нет смысла. Вот и всё.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 29 Марта 2009, 18:00:19
Польз. тип персон планируется. Я имел в виду, что в ближайшее время поддержки таких типов не будет в программе (скорее всего в 1.0), то делать её в скриптах нет смысла. Вот и всё.
Всё понял. Спасибо большущее.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 30 Марта 2009, 18:37:33
Александр , есть такое предложение , добавить к функции ShowMessage , а точнее окну которое оно воспроизводит , кнопку Отмена , чтобы если нажать на неё происходил выход из скрипта , очень не хватает такой функциональности , когда видиш что чтото идет не так.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 31 Марта 2009, 01:32:05
ОК, я сделаю отдельную ф-цию MessageBox для этого. Ф-ция будет возражать номер нажатой кнопки, чтобы скрипт мог правильно отреагировать.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 31 Марта 2009, 05:42:09
ОК, я сделаю отдельную ф-цию MessageBox для этого. Ф-ция будет возражать номер нажатой кнопки, чтобы скрипт мог правильно отреагировать.
Наглая какая функция ;D.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Resha от 31 Марта 2009, 11:48:21
ОК, я сделаю отдельную ф-цию MessageBox для этого. Ф-ция будет возражать номер нажатой кнопки, чтобы скрипт мог правильно отреагировать.
Наглая какая функция ;D.
;D ;D ;D ;D ;D
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 02 Апреля 2009, 20:58:37
Несколько вопросов по работе с локальными файлами (находящимися на жёстком диске):
1. В версии 0.9.9.4 к результату, возвращаемому функцией GetDownloadURL, добавляется префикс http://, что не наблюдалось в версии 0.9.8.20. Это не позволяет загружать локальные файлы, в частности, не работают скрипты загрузки информации из текстового файла. Кроме того, при отсутствии локального файла в версии 0.9.8.20 выдавалось окно для выбора файла, а в 0.9.9.4 выдаётся ошибка. Это нормально или нет?
2. В версии 0.9.8.20 не работает загрузка постера из локального файла. Другими словами, функция GetDownloadURL возвращает полное имя файла, а загрузка не происходит. Так и должно быть?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 03 Апреля 2009, 02:18:19
Цитировать
1. В версии 0.9.9.4 к результату, возвращаемому функцией GetDownloadURL, добавляется префикс http://, что не наблюдалось в версии 0.9.8.20. Это не позволяет загружать локальные файлы, в частности, не работают скрипты загрузки информации из текстового файла. Кроме того, при отсутствии локального файла в версии 0.9.8.20 выдавалось окно для выбора файла, а в 0.9.9.4 выдаётся ошибка. Это нормально или нет?

Ха, точно, забыл реализовать загрузку локальных файлов в 0.9.9. Исправлю к выходным ;)

Цитировать
2. В версии 0.9.8.20 не работает загрузка постера из локального файла. Другими словами, функция GetDownloadURL возвращает полное имя файла, а загрузка не происходит. Так и должно быть?

Фиг его знает, но править 0.9.8 облом править  :-[
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 03 Апреля 2009, 05:36:02
Цитировать
2. В версии 0.9.8.20 не работает загрузка постера из локального файла. Другими словами, функция GetDownloadURL возвращает полное имя файла, а загрузка не происходит. Так и должно быть?

Фиг его знает, но править 0.9.8 облом править  :-[
И не надо уже ;). Пусть в следующих версиях загрузка не забудет заработать :).
Просто это другая ошибка, нежели указанная в п.1, а в 0.9.9.4 я её проверить не смог именно из-за п.1 :).
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 07 Апреля 2009, 06:29:20
есть такой вопрос , сейчас работаю над одним скриптом по загрузке обложек , и там наблюдаю интересный способ получения самой картинки.
Вот Http запросы между браузером и сайтом.

GET /mirror.php?id=19277
#redirect# GET /download.php?id=3514&u=55091&sid=p17lc7s0kn2u80fkbsmfocntj3&key=itBKUO1jWRmbc
#redirect# GET /data/3514.jpg

Первый запрос содержит адрес ссылки в браузере на которую я нажимаю для скачивания картинки , а вот дальше идет 2 редиректа , первый по ходу проверяет "печенье" и генерирует 2 запрос на получение адреса самой картинки.
У меня вопрос будет ли это дейстовать в PVD , и какой запрос подхватит функция для загрузки.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 07 Апреля 2009, 06:34:01
есть такой вопрос , сейчас работаю над одним скриптом по загрузке обложек , и там наблюдаю интересный способ получения самой картинки.
Вот Http запросы между браузером и сайтом.

GET /mirror.php?id=19277
#redirect# GET /download.php?id=3514&u=55091&sid=p17lc7s0kn2u80fkbsmfocntj3&key=itBKUO1jWRmbc
#redirect# GET /data/3514.jpg

Первый запрос содержит адрес ссылки в браузере на которую я нажимаю для скачивания картинки , а вот дальше идет 2 редиректа , первый по ходу проверяет "печенье" и генерирует 2 запрос на получение адреса самой картинки.
У меня вопрос будет ли это дейстовать в PVD , и какой запрос подхватит функция для загрузки.
Так ты попробуй в тестовом скрипте в функции GetDownloadURL безусловно вернуть .../mirror.php?id=19277 и посмотришь в логе, к чему это приведет. В ParsePage можно вставить ShowMessage (URL, '');.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 07 Апреля 2009, 06:55:23
есть такой вопрос , сейчас работаю над одним скриптом по загрузке обложек , и там наблюдаю интересный способ получения самой картинки.
Вот Http запросы между браузером и сайтом.

GET /mirror.php?id=19277
#redirect# GET /download.php?id=3514&u=55091&sid=p17lc7s0kn2u80fkbsmfocntj3&key=itBKUO1jWRmbc
#redirect# GET /data/3514.jpg

Первый запрос содержит адрес ссылки в браузере на которую я нажимаю для скачивания картинки , а вот дальше идет 2 редиректа , первый по ходу проверяет "печенье" и генерирует 2 запрос на получение адреса самой картинки.
У меня вопрос будет ли это дейстовать в PVD , и какой запрос подхватит функция для загрузки.
Так ты попробуй в тестовом скрипте в функции GetDownloadURL безусловно вернуть .../mirror.php?id=19277 и посмотришь в логе, к чему это приведет. В ParsePage можно вставить ShowMessage (URL, '');.

мне еще для начала нужно сделать регистрацию на сайте , без регистрации никуда не пустят.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 07 Апреля 2009, 10:19:53
Есть такое предложение по модернизации скриптового движка.

Добавить функции:
1. Удалять все кроме цифр из строки WideString
2. Удалять только цифры из строки WideString

очень часто пользуюсь этими функциями , думаю пора сделать на постоянку.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 08 Апреля 2009, 17:01:31
написал скрипт , пробую первое тестирование , а он ругается.
Вот лог , в чем дело подскажите:
08.04.2009 21:53:46: POST: http://сovers.mrcat.org/login.php?&username=XXX&password=XXX&remember=on&restore=
08.04.2009 21:53:47: Searching movie information for: шепот стен 4 Голос
08.04.2009 21:53:48: POST: http://сovers.mrcat.org/search.php postback=1&title=%F8%E5%EF%EE%F2+%F1%F2%E5%ED+4+%C3%EE%EB%EE%F1&useorand=0&case=-1&cover=-1&language=18&year=0showdetails=1&btnSubmit=%C8%F1%EA%E0%F2%FC?
08.04.2009 21:53:50: Socket Error # 11004
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 08 Апреля 2009, 17:35:31
Цитировать
http://сovers.mrcat.org/search.php postback=1&title=%F8%E5%EF%EE%F2+%F1%F2%E5%ED+4+%C3%EE%EB%EE%F1&useorand=0&case=-1&cover=-1&language=18&year=0showdetails=1&btnSubmit=%C8%F1%EA%E0%F2%FC?

в адрес не должно быть пробелов....
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 08 Апреля 2009, 17:39:03
08.04.2009 21:53:48: POST: http://сovers.mrcat.org/search.php postback=1&title=%F8%E5%EF%EE%F2+%F1%F2%E5%ED+4+%C3%EE%EB%EE%F1&useorand=0&case=-1&cover=-1&language=18&year=0showdetails=1&btnSubmit=%C8%F1%EA%E0%F2%FC?
Вместо пробела после search.php поставить знак вопроса. В конце знак вопроса убрать.
И самое главное!
Замени в адресе в слове сovers первую букву на английскую c. Сейчас у тебя русская с.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 08 Апреля 2009, 17:57:42
Еще одна попытка , результат прежний:
Кстати когда сбрасываеш данные об регистрации , страница загружаться должна , или нет.
У меня не загружается.

08.04.2009 22:51:46: POST: http://сovers.mrcat.org/login.php?username=ххх&password=ххх&remember=on&restore=
08.04.2009 22:51:46: Searching movie information for: Dark Water
08.04.2009 22:51:48: POST: http://сovers.mrcat.org/search.php?postback=1&title=Dark+Water&useorand=0&case=-1&cover=-1&language=18&year=0showdetails=1&btnSubmit=%C8%F1%EA%E0%F2%FC
08.04.2009 22:51:48: Socket Error # 11004
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 08 Апреля 2009, 18:12:31
У меня даже http://сovers.mrcat.org не грузится ???
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 08 Апреля 2009, 18:21:15
У меня даже http://сovers.mrcat.org не грузится ???
И самое главное!
Замени в адресе в слове сovers первую букву на английскую c. Сейчас у тебя русская с.
:D :D :D
Название: Re: Разработка скриптов (вопросы)
Отправлено: NewSky от 08 Апреля 2009, 18:28:08
А так? :) http://covers.mrcat.org/
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 08 Апреля 2009, 18:34:56
А так? :) http://covers.mrcat.org/
А чего я-то так не додумался объяснить? ??? :D
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 08 Апреля 2009, 18:41:01
Ах да, про "с" забыл
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Апреля 2009, 02:27:25
Ах да, про "с" забыл

Какая к черту С , я там один знак забыл &.
Это не главное , регистрация не робит.
09.04.2009 7:23:18: POST: http://сovers.mrcat.org/login.php?postback=1&username=хххх&password=хххх&remember=on&restore=
09.04.2009 7:23:20: Searching movie information for: Иллюзия полета
09.04.2009 7:23:21: POST: http://covers.mrcat.org/search.php?postback=1&title=%C8%EB%EB%FE%E7%E8%FF+%EF%EE%EB%E5%F2%E0&useorand=0&case=-1&cover=-1&language=18&year=0&showdetails=1&btnSubmit=%C8%F1%EA%E0%F2%FC
09.04.2009 7:23:23: Redirected to: login.php
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 09 Апреля 2009, 05:37:29
Какая к черту С , я там один знак забыл &.
Это не главное , регистрация не робит.
09.04.2009 7:23:18: POST: http://сovers.mrcat.org/login.php?postback=1&username=хххх&password=хххх&remember=on&restore=
И самое главное!
Замени в адресе в слове сovers первую букву на английскую c. Сейчас у тебя русская с.
Ты вместо того, чтобы ругаться, внимательнее свой код смотри.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Апреля 2009, 09:40:47
А можна указать где смотреть , я в упор ничего лишнего не вижу.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 09 Апреля 2009, 10:56:25
А можна указать где смотреть , я в упор ничего лишнего не вижу.
Я же в цитате строчку привел с ошибкой.
Замени во всём скрипте свой адрес на этот
covers.mrcat.orgУ тебя первая буква русская в слове covers.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Апреля 2009, 14:32:03
Возникла проблема , а сней и предложение.
Такая ситуация , получаю страницу с результатами поиска со списком фильмов.
А в списке есть повторные фильмы , для разных носителей DVD Video , HD Video , CD Video , как эти параметры засунуть в функцию AddSearchResult что бы не портить названия фильмов , предлагаю внести дополнительное поле Описание.
Или есть другой более фантастичный вариант , можно ли передать предыдушей функции изображение храняшееся локально на компьютере , а я бы на картинках написал что нужно.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 09 Апреля 2009, 14:40:04
Возникла проблема , а сней и предложение.
Такая ситуация , получаю страницу с результатами поиска со списком фильмов.
А в списке есть повторные фильмы , для разных носителей DVD Video , HD Video , CD Video , как эти параметры засунуть в функцию AddSearchResult что бы не портить названия фильмов , предлагаю внести дополнительное поле Описание.
Или есть другой более фантастичный вариант , можно ли передать предыдушей функции изображение храняшееся локально на компьютере , а я бы на картинках написал что нужно.
Какая разница, что ты пишешь в названия? Я в скрипте загрузки персон пишу в Title тип изображения, разрешение и размер. Ведь названия из списка поиска никуда не идут, только отображаются в списке поиска.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 09 Апреля 2009, 16:38:01
Возникла проблема , а сней и предложение.
Такая ситуация , получаю страницу с результатами поиска со списком фильмов.
А в списке есть повторные фильмы , для разных носителей DVD Video , HD Video , CD Video , как эти параметры засунуть в функцию AddSearchResult что бы не портить названия фильмов , предлагаю внести дополнительное поле Описание.
Или есть другой более фантастичный вариант , можно ли передать предыдушей функции изображение храняшееся локально на компьютере , а я бы на картинках написал что нужно.
Какая разница, что ты пишешь в названия? Я в скрипте загрузки персон пишу в Title тип изображения, разрешение и размер. Ведь названия из списка поиска никуда не идут, только отображаются в списке поиска.

наверно я плохо обьяснил , ну вот приведу пример , есть список фильмов , с одной интересной особенностью.
Пример:(фильмы придуманы от фонаря)
  Укуренный Наркоман 2009 [DVD Video ]
  Укуренный Наркоман 2009 [CD Video]
  Укуренный Наркоман 2009 [HD Video]

Когда скрипт пропарсит этот список он выведет мне три фильма , так вот какой из них мне выбрать. Вот сдесь и не хватает поля описание.

Хотя я продумал как пройти эти ограничения , но суть моей идеи думаю понятна.
 
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 09 Апреля 2009, 17:26:51
Возникла проблема , а сней и предложение.
Такая ситуация , получаю страницу с результатами поиска со списком фильмов.
А в списке есть повторные фильмы , для разных носителей DVD Video , HD Video , CD Video , как эти параметры засунуть в функцию AddSearchResult что бы не портить названия фильмов , предлагаю внести дополнительное поле Описание.
Или есть другой более фантастичный вариант , можно ли передать предыдушей функции изображение храняшееся локально на компьютере , а я бы на картинках написал что нужно.
Какая разница, что ты пишешь в названия? Я в скрипте загрузки персон пишу в Title тип изображения, разрешение и размер. Ведь названия из списка поиска никуда не идут, только отображаются в списке поиска.

наверно я плохо обьяснил , ну вот приведу пример , есть список фильмов , с одной интересной особенностью.
Пример:(фильмы придуманы от фонаря)
  Укуренный Наркоман 2009 [DVD Video ]
  Укуренный Наркоман 2009 [CD Video]
  Укуренный Наркоман 2009 [HD Video]

Когда скрипт пропарсит этот список он выведет мне три фильма , так вот какой из них мне выбрать. Вот сдесь и не хватает поля описание.

Хотя я продумал как пройти эти ограничения , но суть моей идеи думаю понятна.
 
Так и пиши в Title в функции AddSearchResult - "Укуренный Наркоман 2009 [DVD Video]".
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 10 Апреля 2009, 05:27:18
Заменил букву с на английскую и все заработало , но возникла другая проблема.
не знаю даже в чем причина , или от того что запрос должен быть GET а в логе POST , или из за того что после команды prList не работает смена режимов запросов.
Прилагаю лог.

10.04.2009 10:18:45: Searching movie information for: 13 район
10.04.2009 10:18:46: POST: http://covers.mrcat.org/search.php?postback=1&title=13+%F0%E0%E9%EE%ED&useorand=0&case=-1&cover=-1&language=18&year=0&showdetails=1&btnSubmit=%C8%F1%EA%E0%F2%FC
10.04.2009 10:19:20: POST: http://covers.mrcat.org/title.php?id=1293
10.04.2009 10:19:21: Redirected to: login.php
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 10 Апреля 2009, 06:32:09
не знаю даже в чем причина , или от того что запрос должен быть GET а в логе POST , или из за того что после команды prList не работает смена режимов запросов.
А зачем ты вообще меняешь режим запросов?
Поставь его GET навечно. Пароль всё равно будет POSTом отправлен.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 10 Апреля 2009, 11:01:21
Не помогло , в режиме get скрипт тихо завершает работу.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 10 Апреля 2009, 11:39:33
Не помогло , в режиме get скрипт тихо завершает работу.
Ерунда какая-то. Что, даже ParsePage не вызывается? GetLoginInfo, GetDownloadURL, вызываются, до конца доходят?
Попробуй вообще убрать функцию GetDownloadMethod, по умолчанию будет dmGET.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 10 Апреля 2009, 13:17:40
Не помогло , в режиме get скрипт тихо завершает работу.
Ерунда какая-то. Что, даже ParsePage не вызывается? GetLoginInfo, GetDownloadURL, вызываются, до конца доходят?
Попробуй вообще убрать функцию GetDownloadMethod, по умолчанию будет dmGET.
Скрипт в режиме get загружает какую то маленькую страницу , размеров 3 кб , и эта страница видимо не проходит проверку на принадлежность к нужной.
Кстати последняя страница в этом скрипте загружается , или опять нет.
Самое обидное скрипт полностью написан требуется тестирование , после выбора фильма.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 11 Апреля 2009, 10:49:06
Можно ли в скриптах добиться инициализации переменных при их объявлении, как в Паскале:
var
 Count : Integer = 0;

В принципе, первоначальная цель немного другая.
Я хочу иметь возможность изменять значения параметров-опций, которыми пользователи настраивают скрипт, в ходе выполнения скрипта. Но в то же время объявление и инициализацию этих параметров оставить в самом начале скрипта.
Может кто-нибудь помочь?
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 12 Апреля 2009, 06:05:46
Можно ли в скриптах добиться инициализации переменных при их объявлении, как в Паскале:
var
 Count : Integer = 0;

В принципе, первоначальная цель немного другая.
Я хочу иметь возможность изменять значения параметров-опций, которыми пользователи настраивают скрипт, в ходе выполнения скрипта. Но в то же время объявление и инициализацию этих параметров оставить в самом начале скрипта.
Может кто-нибудь помочь?

так они и так инициализируются после их обявления , нулевым значением . без всяких там дополнительных команд.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 12 Апреля 2009, 06:16:22
Можно ли в скриптах добиться инициализации переменных при их объявлении, как в Паскале:
var
 Count : Integer = 0;

В принципе, первоначальная цель немного другая.
Я хочу иметь возможность изменять значения параметров-опций, которыми пользователи настраивают скрипт, в ходе выполнения скрипта. Но в то же время объявление и инициализацию этих параметров оставить в самом начале скрипта.
Может кто-нибудь помочь?

так они и так инициализируются после их обявления , нулевым значением . без всяких там дополнительных команд.
Неудачный пример привел  :)
Я имел в виду, ненулевым значением.
Например:
var
  sort : Integer = 3;
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 15 Апреля 2009, 20:48:47
Обнаружил некую особенность в POST-запросах, посылаемых на сайт из программы.
Потребовалось сформировать поисковый POST-запрос на сайт для поиска русского фильма.
Запрос был сформирован и отправлен. Но результатов почему-то не дал.
После анализа данных, отправляемых на сайт, накопил следующие результаты.
Поиск фильма с названием ТЕСТ.
Код: (GET-запрос в логе программы) [Выделить]
GET : http://www.kino-teatr.ru/search/?text=%D2%C5%D1%D2
Код: (POST-запрос в логе программы) [Выделить]
POST: http://www.kino-teatr.ru/search/?text=%D2%C5%D1%D2
Полностью идентичны.
Далее смотрю, а что же реально отправляется на сайт:
Код: (GET-запрос в логе Proxomitron) [Выделить]
GET /search/?text=%D2%C5%D1%D2 HTTP/1.1
Код: (POST-запрос в логе Proxomitron) [Выделить]
text=%25D2%25C5%25D1%25D2
Код: (Запрос из браузера в логе Proxomitron) [Выделить]
text=%D2%C5%D1%D2

Вывод: при POST-запросах знак процента (%) заменяется на %25, что даёт отрицательный результат поиска на сайте.
Проблема возникает только в том случае, если название фильма подставляется в программе заменой шаблона %s в поисковой строке. Если вместо %s подставить название фильма в скрипте, то всё проходит нормально. Возможно, название проходит двойное преобразование.

Кроме того, знак процента заменяется в параметрах POST-запросов, передаваемых из скрипта в программу.

Тестовый скрипт во вложении 1. Необходимо произвести обновление фильма с названием ТЕСТ. Ожидаемая в результате страница page.html приведена во вложении 2.

ЗЫ: может быть, я что-нибудь не так делаю?

[вложение удалено Администратором]
Название: Re: Разработка скриптов (предложения)
Отправлено: djek-ural от 23 Апреля 2009, 07:17:28
Вопрос.
Продолжаю писать скрипт для персон.
В какую функцию-процедуру передавать список персон для вывода списка для выбора персоны.
Если стандартная то в какие поля и что закидывать.
Название: Re: Разработка скриптов (предложения)
Отправлено: Reset от 23 Апреля 2009, 13:33:06
Вопрос.
Продолжаю писать скрипт для персон.
В какую функцию-процедуру передавать список персон для вывода списка для выбора персоны.
Если стандартная то в какие поля и что закидывать.
procedure AddSearchResult(Name, TransName, Year, URL, PreviewURL : WideString)
Все как у фильмов.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 23 Апреля 2009, 18:23:59
Спасибо за ответ.
И спасибо что пост перенес из другой темы , а то я ладом не посмотрев в какой теме нахожусь влепил её в другую тему , сейчас только заметил что сообшение написал вначале в другой теме.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Arg123 от 28 Мая 2009, 12:18:06
Доброго времени суток всем. Хочу "попробовать"  :) написать скрипт для поиска информации с www.sharereactor.ru , где можно взять плагин "Script Engine версии" 0.1.2.0 ?
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 28 Мая 2009, 21:50:05
Доброго времени суток всем. Хочу "попробовать"  :) написать скрипт для поиска информации с www.sharereactor.ru , где можно взять плагин "Script Engine версии" 0.1.2.0 ?
С каждой версией программы поставляется движок скриптов, соответствующий этой программе. Специально версию подбирать не надо. Описание разработки скриптов (http://www.videodb.info/forum_ru/index.php?topic=62.msg178#msg178) действительно и для следующих версий.
В новых версиях движка скриптов появились некоторые новые функции. Пока их описание разбросано по форуму. В дальнейшем тема Разработка скриптов (http://www.videodb.info/forum_ru/index.php?topic=62.msg178#msg178) будет обновлена.
Название: Re: Разработка скриптов (вопросы)
Отправлено: morrison от 15 Октября 2009, 10:11:21
Гуру, подскажите - есть ли какие особенности при парсинге xml? На вводе будет что то вроде этого (http://www.discogs.com/search?type=releases&q=Four+Tet+dvd&f=xml&api_key=d473b6b62a) (конфета конечно по сравнению с проприетарными киносайтами)

с скриптами к mp3tag разобрался, может и это осилится...

ЗЫ за основу взял скрипт wordart
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 15 Октября 2009, 15:25:16
Гуру, подскажите - есть ли какие особенности при парсинге xml? На вводе будет что то вроде этого (http://www.discogs.com/search?type=releases&q=Four+Tet+dvd&f=xml&api_key=d473b6b62a) (конфета конечно по сравнению с проприетарными киносайтами)

с скриптами к mp3tag разобрался, может и это осилится...

ЗЫ за основу взял скрипт wordart

Да в принципе ничего сложного , cамое главное ключевые слова правильно подобрать.
Пробуйте это на самом деле очень даже интересное занятие.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Duran от 25 Октября 2009, 11:18:04
Такой вопрос - в скрипте идет загрузка сначала с одного сайта, потом с другого. При загрузке с другого у слов со всякими иероглифами и прочей нелатиницей при занесении их в поле отображается всякая муть. Это как я понял, из-за того что первый сайт в кодировке 1251, а второй в UTF-8, а скрипт работает в кодировке определенной по первому сайту. Собственно, как сделать так, что бы он переключал кодировку при закачке с другого сайта?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 25 Октября 2009, 12:29:32
Установить кодировку в 0 - автоматическое определение, но это работает не всегда.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Duran от 25 Октября 2009, 12:30:59
Пробовал - не помогает :(
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 25 Октября 2009, 12:38:12
А если всю страницу пропустить через HTMLToText()
Название: Re: Разработка скриптов (вопросы)
Отправлено: Duran от 25 Октября 2009, 12:58:08
Тогда он эти данные вообще не берет.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 25 Октября 2009, 13:37:06
Может быть нужно парсер поправить
Название: Re: Разработка скриптов (вопросы)
Отправлено: barrow от 20 Ноября 2009, 14:49:10
Функция AddMoviePerson('', V, '', '', ctActors) в таком виде заполняет тем же значением (V) и оригинальное имя.
AddMoviePerson(V, '', '', '', ctActors) заполняет только только оригинальное имя. Как поправить ?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 21 Ноября 2009, 03:24:19
Это в программе так сделано, чтобы ориг. имя всегда присутвовало. Это нельзя изменить.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 10 Февраля 2010, 06:33:27
Цитировать
0.9.9.16
Feature Цветовые тэги для ссылок в многострочных полях
Feature Движок скриптов: обработка ошибок
Feature Движок скриптов: возможность указать оба названия/имени при добавлении наград
Feature Движок скриптов: Ф-ция ConvertEncoding
А можно об этих пунктах поподробнее?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 11 Февраля 2010, 01:04:32
Цитировать
Feature Цветовые тэги для ссылок в многострочных полях

<link color="red">This text is red</link>
<link color="green">This text is green</link>

Цитировать
Feature Движок скриптов: обработка ошибок

Можно вернуть альтернативный URL если произошла ошибка при загрузке последней страницы. Для этого нужно добавить вот такую ф-цию:
function ProcException(Exception : String; Msg : String): AnsiString;
begin
 //
end;

Цитировать
Feature Движок скриптов: возможность указать оба названия/имени при добавлении наград

procedure AddAwardEx(Event, Award, Category, RecipientVal1, RecipientVal2, Year: String; const Won : Boolean);
Цитировать
Feature Движок скриптов: Ф-ция ConvertEncoding

function ConvertEncoding(const HTML : AnsiString; CP : Cardinal) : String
HTML - Текст в ANSI
CP - Нужная кодировка
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 12 Февраля 2010, 21:48:10
2. Можно ли в функциях StringToFile и FileToString указывать относительные пути? Меня интересует два пути: путь к каталогу с программой и путь к каталогу с файлом базы данных. К этому можно добавить путь к временной папке.
Сейчас файлы без пути сохраняются рядом с базой данных.
Этот вопрос случайно не решен?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 13 Февраля 2010, 17:35:48
Нет, но я решил выпустить по быстрому ещё одну версию  в ветке 0.9.x, с исправлением критических недоработок в актуальном релизе и могу включить эту ф-циональность в 0.9.9.17
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 13 Февраля 2010, 18:14:43
Нет, но я решил выпустить по быстрому ещё одну версию  в ветке 0.9.x, с исправлением критических недоработок в актуальном релизе и могу включить эту ф-циональность в 0.9.9.17
Если это возможно, то было бы замечательно.
Название: Re: Разработка скриптов (вопросы)
Отправлено: NewSky от 13 Февраля 2010, 19:41:24
[off-topic]/me радостно потирает руки в предвкушении фикса :)[/off-topic]
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 01 Марта 2010, 19:22:06
nostra добавь функцию возвращающую handle ну или что то другое текущего подключения к базе, тоды можно будет делать неплохие плагины к программе...
Перенесено в тему Разработка плагинов (вопросы) (http://www.videodb.info/forum_ru/index.php?topic=192.msg9829#msg9829).
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 27 Августа 2010, 16:23:13
Что-то странное у меня происходит. AddFieldValueXML не хочет работать для персон (точнее, никак не получается ничего добавить в поле комментария). GetFieldValueXML работает без нареканий. Версия движка 0.2.6.0. Кто-нибудь кроме меня пробовал пользоваться AddFieldValueXML для персон?
Название: Re: Разработка скриптов (вопросы)
Отправлено: wwmax от 27 Августа 2010, 16:41:33
Большая просьба к Reset-у: не так давно шёл разговор о проблемах/банах при заборе инфы с КиноПоиска (т.е. о периодической недоступности сайта из-за "чрезмерно частых обращений" к нему с ИПа пользователя).
Может можно как-то научить скрипт kinopoisk.psf выдерживать паузу между обращениями к КиноПоиску?
А то уже вошло в стандарт: забираю инфу для одного-двух фильмов - потом жду несколько минут - потом снова для одного-двух фильмов - снова пауза.............
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 27 Августа 2010, 19:00:30
Может можно как-то научить скрипт kinopoisk.psf выдерживать паузу между обращениями к КиноПоиску?
Сделайте Delay =  100000000 или поставьте ручную задержку MsgDelay = True. Только это все равно не поможет (т.е. поможет, но только на некоторое время), бан не только от частоты запросов зависит.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Reset от 27 Августа 2010, 19:29:14
Большая просьба к Reset-у: не так давно шёл разговор о проблемах/банах при заборе инфы с КиноПоиска (т.е. о периодической недоступности сайта из-за "чрезмерно частых обращений" к нему с ИПа пользователя).
Может можно как-то научить скрипт kinopoisk.psf выдерживать паузу между обращениями к КиноПоиску?
А то уже вошло в стандарт: забираю инфу для одного-двух фильмов - потом жду несколько минут - потом снова для одного-двух фильмов - снова пауза.............
Я уже столько раз обещал это сделать, что боюсь еще раз что-то обещать. Постараюсь.
Название: Re: Разработка скриптов (вопросы)
Отправлено: wwmax от 27 Августа 2010, 20:41:09
... Delay =  100000000 или поставьте ручную задержку MsgDelay = True ...
спасибо, попробую, но хотелось бы вообще избежать подобных банов... (блин, вот жалко им чтоли денег с рекламы выделить на хостинг на приличном сервере, чтобы не трястись за перерасход трафика - с таким жлобским подходом они скоро порастеряют всех своих постоянных посетителей)

...Постараюсь.
Спасибо, очень надеюсь :)
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 28 Августа 2010, 12:27:40
Если кто-нибудь знает способ добавить значение в поле комментария у персоны, подскажите, пожалуйста.
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 28 Августа 2010, 17:22:06
Если кто-нибудь знает способ добавить значение в поле комментария у персоны, подскажите, пожалуйста.

Знаем , а что именно вы хотите изменить , эти внести эти изменения они будут постоянны , для этого всего лишь надо отредактировать несколько записей в файле с расширением .psf а именно файл kinopoisk_person.psf

Добавил.
Вообще то поле Комментарий доступно при редактирование карточки персоны , и можно вручную внести необходимые данные.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 28 Августа 2010, 20:42:53

Знаем , а что именно вы хотите изменить , эти внести эти изменения они будут постоянны , для этого всего лишь надо отредактировать несколько записей в файле с расширением .psf а именно файл kinopoisk_person.psf

Эээ... Мне казалось, что по моему предпоследнему сообщению понятно, что именно я хочу. Извините. Если конкретно, то у меня не работает вот это:

AddFieldValueXML('comment', 'Какой-нибудь текст');

Причем, если вручную что-нибудь занести в поле комментариев, то возвращается это значение отлично. Т.е. вот это у меня работает:

GetFieldValueXML('comment');

Внимание, вопрос: что я делаю не так? Может быть есть какой-нибудь способ что-то добавить в поле комментариев, кроме процедуры AddFieldValueXML?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 28 Августа 2010, 23:21:30
Упс, AddFieldValueXML вообще для персон не работала :(
Залил исправленную  версию движка скриптов.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 29 Августа 2010, 12:45:26
Упс, AddFieldValueXML вообще для персон не работала :(
Залил исправленную  версию движка скриптов.
Тысяча благодарностей!
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 29 Августа 2010, 14:13:35
Еще вопрос возник. А нет случайно какого-нибудь хитрого способа добавить к фотографиям персоны еще одну? Т.е. не заменить фотографию, а добавить.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 29 Августа 2010, 16:18:36
Еще вопрос возник. А нет случайно какого-нибудь хитрого способа добавить к фотографиям персоны еще одну? Т.е. не заменить фотографию, а добавить.

AddImageURL

см: http://www.videodb.info/help/hlp_scripting.html#fill
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 29 Августа 2010, 17:24:27
AddImageURL

AddImageURL(4, URL) у меня тоже не работает (и при серой и при черной галочке "Фото").

AddImageURL(0, URL) - работает, но затирает предыдущее изображение (если галочка "Постер" - черная), если серая - изображение скачивается, только если поле до этого было пустым.

Может быть, тут какой-то фокус с галочками?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 29 Августа 2010, 23:14:39
Цитировать
AddImageURL(4, URL) у меня тоже не работает (и при серой и при черной галочке "Фото").

Блин, похоже я был не слишком внимателен во время работы над персонами :( Эта ф-циональность не реализована в самой программе :(

Цитировать
AddImageURL(0, URL) - работает, но затирает предыдущее изображение (если галочка "Постер" - черная), если серая - изображение скачивается, только если поле до этого было пустым.

Может быть, тут какой-то фокус с галочками?

Нет, на данный момент без затирания не получится
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 30 Августа 2010, 17:20:47
Нет, на данный момент без затирания не получится

Постеры меня не очень волнуют, их без затирания можно загрузить скриптом типа 2. А то, что фотографии персон добавить без затирания можно только вручную - это немного тоскливо :( Я буду верить и ждать, что когда-нибудь такая возможность появится.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 30 Августа 2010, 18:14:54
Думаю, что появится ;)
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 06 Октября 2010, 19:41:59
У меня очередной вопрос по движку скприптов.
Бывает такая ситуация, когда актер играет в фильме несколько ролей. imdb и кинопоиск в этом случае пользуются косой чертой (знаком дроби) для отделения одной роли от другой.
Если добавлять фильм в фильмографию актера (в скрипте импорта информации о персоне) процедурой AddPersonMovie, то такая "комплексная" роль отлично добавляется. Но если добавлять персону (в скрипте импорта информации о фильме) процедурой AddMoviePerson, то значок дроби в роли фантастическим образом правращается в пробел. Это у меня одной такой глюк?
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 06 Октября 2010, 23:26:36
Действительно в исходниках движка есть замена дроби на пробел. Честно говоря не знаю зачем я её там добавил, но вероятно причина была... Лучше просто взять другой разделитель, на пример &
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 07 Октября 2010, 12:49:05
Лучше просто взять другой разделитель, на пример &

Спасибо. Надо imdb посоветовать заменить дробь на что-нибудь другое:) В скриптах можно перед AddMoviePerson сделать замену на другой разделитель, но унифицировать оформление не получится, в плагинах такой фокус уже не пройдет. Просто у меня уже появилась навязчивая мания после загрузки информации о фильме с kinopoisk перегружать фильмографии всех участвовавших актеров с того же самого kinopoisk, чтобы злополучные разделители появились и описание фильма выглядело "красивенько". Пора лечиться:)


Название: Re: Разработка скриптов (вопросы)
Отправлено: EGO от 09 Октября 2010, 17:23:41
хм. Подскажите для тех кто в море - когда КП банит, то нельзя получить ни инфу на фильм, ни на персону? Или есть вариации? Спрашиваю такак не понял этого момента и в своей ситуации непонятно, толи я забанен, толи траблы с настройками:
информация на фильмы и постеры забирается на "ура". А вот получение инфы на персоны error - коннектится к КП, находит персону (в статусе чтото типа info_view/ok), а потом проскакивает error.kinopoisk.ru и... все. Это банан? Ранее намного чаще юзал - и нормально, а тут после перерыва пяток фильмов за несколькодней "залил", а персоны "молчат". Потому и спрашиваю.
Бан на время или снимается?
Кстати - в клиенте есть где либо журнал происходящих соединений, чтобы посмотреть детали? В статусе часто мелькает и непонятно.
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 09 Октября 2010, 23:53:41
Цитировать
Кстати - в клиенте есть где либо журнал происходящих соединений, чтобы посмотреть детали? В статусе часто мелькает и непонятно.

Если запустить программу с параметром -debug, то в Помощь -> Log будет видно всё, что происходит.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 09 Ноября 2010, 08:13:08
Действительно в исходниках движка есть замена дроби на пробел. Честно говоря не знаю зачем я её там добавил, но вероятно причина была...
Ничего с собой поделать не могу. Меня этот вопрос продолжает мучить :-[ Нельзя ли для меня сделать «спецверсию» движка скриптов, где бы замены дроби на пробел не было? Если не трудно, конечно. Я ее потестирую на досуге. Может, выяснится, в чем была причина, и я успокоюсь ::)
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 10 Ноября 2010, 22:53:50
Я сделаю как-нибудь (когда время будет).
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 11 Ноября 2010, 16:19:25
Заранее спасибо.
Название: Re: Разработка скриптов (вопросы)
Отправлено: Phita от 16 Февраля 2011, 11:02:14
Опять у меня просьба, касающаяся дискриминации эпизодов сериалов.

Нельзя ли расширить возможности процедуры AddEpisode, чтобы для эпизода можно было добавить rdate и mpaa (остальные поля тоже неплохо, но rdate - самое главное)? И ввести какую-нибудь процедуру по аналогии с AddMoviePerson, чтобы можно было к эпизоду добавить режиссера, автора сценария и актеров?

В общем, в идеале не плохо было бы из сериала иметь полный доступ ко всем полям каждого эпизода этого сериала. И на запись и на чтение.

Слишком уж много сайтов появилось, где описание эпизодов даны не на отдельных страницах, а общим списком. Грузить общее описание раз за разом для каждого отдельного эпизода только для того, чтобы добавить дату выхода, выглядит немного глупым.

Тоже касается доступа на чтение полей эпизода. Сейчас эпизод может сообщить движку только свое название. Свой номер, сезон и сериал он не знает. Т.е. нет почти никакой возможности найти на неком ресурсе X описание этого эпизода, зная только его название. Вариант вручную заполнить поле URL ссылкой на описание на ресурсе X я не рассматриваю:)

Пожалуйста ::)

[off-topic]Мне бы движку текстового экспорта возможность экспортировать все поля эпизодов, включая путь к файлу, актеров и т.д., а движку скриптов возможность эти поля легко импортировать... И было бы мне полное счастье. Точнее, нормальное отображение сериалов во всяких медиацентрах типа XBMC, MediaBrowser и иже с ними. У меня ситуация скоро достигнет терминальной стадии:) Для сериалов приходится использовать совершенно другую программу, а регулярные попытки хоть как-то синхронизировать актеров мне уже прилично надоели.[/off-topic]
Название: Re: Разработка скриптов (вопросы)
Отправлено: nostra от 16 Февраля 2011, 22:57:11
Я постараюсь учесть эти проблемы, но скорость не обещаю.
Название: Re: Разработка скриптов (вопросы)
Отправлено: irwin от 21 Января 2012, 08:11:31
Как задумана логика взаимодействия скрипта и движка Script Engine, начиная с момента передачи скриптом результатов поиска?

Я себе представляю так, на примере режима персон:
- скрипт передает с помощью AddSeasrchResult результаты по каждой персоне
- плагин, как только ParsePage вернула 2 (prList), открывает окошко для выбора персоны.

Вопрос в том, как скрипт знает, какий люди(человек) были выбраны и какая из кнопок из "Ok", "Отмена", "Пропустить" была нажата?
Название: Re: Разработка скриптов (вопросы)
Отправлено: unreal666 от 21 Января 2012, 12:04:20
Хм.
1. По идее после компиляции скрипта движком Script Engine сам скрипт становится плагином
2. Окошко для выбора персоны открывает не плагин, а сам PVD (его ядро).
Название: Re: Разработка скриптов (вопросы)
Отправлено: djek-ural от 21 Января 2012, 13:35:23
Скрипт кроме результатов передает число режим работы , и от него завист как поведет себя программа.
Когда программа показывает человеку список персон , мы их выбираем здесь работает функции самой программы , после выбора мы снова посылем скрипту запрос в виде url адреса персоны он работает дальше. Хотя наверно сама программа делает запрос по этому url а возврашает скрипту загрузившуюся страницу для парсинга и извлечение данных.
Название: Re: Разработка скриптов (вопросы)
Отправлено: irwin от 24 Января 2012, 09:48:47
Можно ли реализовать скриптом для персон (тип 2, stPeople) добавление серии?
Если это возможно в принципе.

Другими словами: как сделать так, чтобы процедура AddEpisode добавила серию к нужному фильму?