still it returs an array named 'MovieNameEng'![data] => Array
(
[0] => Array
(
[idsubtitlefile] => 10
[data] => MQ0KMDA6MDA6MzgsMzAwIC0tPiAwMDowMDo0MSwwMDA...
)
[1] => Array
(
[idsubtitlefile] => 20
[data] => MQ0KMDA6MDA6MjYsMjgzIC0tPiAwMD...
)
Hi,Hi! I have troubles constructing the SearchSubtitles request. Can someone post a working XML for it, so I compare my XML to it. I tried using RpcArray, and RpcStruct with no luck so far ;/ The result's [data] is always False.
Code: Select all
procedure TOSDBForm.DoFindSubtitles(Mode: TResShowMode; Lang: String);
var
RpcFunction: TRpcFunction;
Find: TRpcStruct;
Data: TRpcArray;
begin
if not IsBusy then begin
Searching('Searching Database...');
try
Find := nil;
case Mode of
rsmSubtitles: begin
if FIMDBid <> '' then begin
Find := TRpcStruct.Create;
Find.AddItem('sublanguageid',Lang); // language id
//Find.AddItem('moviehash',''); // hash
//Find.AddItem('moviebytesize',''); // bytes
Find.AddItem('imdbid',FIMDBid); // IMDB id
end
end;
rsmMovieSubs: begin
if FFSize <> 0 then begin
Find := TRpcStruct.Create;
Find.AddItem('sublanguageid',Lang); // language id
Find.AddItem('moviehash',Edit2.Text); // hash
Find.AddItem('moviebytesize',FFSize); // bytes
//Find.AddItem('imdbid',''); // IMDB id
end;
end;
end;
if Assigned(Find) then begin
Data := TRpcArray.Create;
Data.AddItem(Find);
RpcFunction := TRpcFunction.Create;
RpcFunction.ObjectMethod := 'SearchSubtitles';
RpcFunction.AddItem(FToken);
RpcFunction.AddItem(Data);
DoShowResult(rsmSubtitles,ExecuteXmlRpc(RpcFunction),340,85);
end;
finally
SearchingDone;
end;
DoSelectOne;
end;
end;
Code: Select all
procedure TOSDBForm.DoShowResult(Mode: TResShowMode; Info: IRpcStruct; W1,W2: Integer);
var
i: Integer;
List: IRpcStruct;
Subs: IRpcArray;
begin
...
if Info.KeyExists('MovieNameEng') then
if Info.Keys['MovieNameEng'].IsArray then begin
Subs := Info.Keys['MovieNameEng'].AsArray;
for i := 0 to Subs.Count-1 do begin
List := Subs.Items[i].AsStruct;
with ListView1.Items.Add,List do begin
Caption := Keys['SubFileName'].AsString;
SubItems.Add(Keys['LanguageName'].AsString);
SubItems.Add(Keys['IDSubtitleFile'].AsString); // Subs OSDB id
end;
end;
end;
...
end;
Users browsing this forum: No registered users and 22 guests