Welcome Folks
Quote from: Ivek23 on 4 04 June, 2026, 04:16:20 PMHowever, there was a problem when I selected only the main page in the Script Configurator, the Script Configurator did not save the settings and there was no restart of PVD. It also warned for the PlotSummary page that at least one field associated with this page must be checked. When I checked the fields associated with PlotSummary as well as the PlotSummary additional page, the Script Configurator saved the settings and restarted PVD.If you don't want plot summary page then you should uncheck ALL of the Parse_xxx_SUMMARY boxes in Configurator and then click on "No" and PVD would restart then. It is not enough to unchek downloading pages only. You need to uncheck parsing those pages too in Configurator. This is the message on that dialog box:
QuoteTo enable downloading the plot summary page by IMDb Movie Script,
you ALSO need to check at least one of the XXX_SUMMARY boxes.
To disable downloading the plot summary page, you also need to uncheck
ALL of the Parse_xxx_SUMMARY boxes.
Press 'Yes' to go back to Configurator and set them accordingly,
or press 'No' to continue restarting PVD with leaving them as they were.
Quote//Get ~imdbrating~~IMDB Rating~~IMDBRating~
ItemValue := TextBetWeenFirst(ItemList,'"worstRating":1,"ratingValue":','},"'); //Strings which opens/closes the data. WEB_SPECIFIC
//ItemValue := FloatToStr((StrToFloat(ItemValue) * 1));
AddFieldValueXML('imdbrating',ItemValue);
AddCustomFieldValueByName('IMDB Rating',ItemValue);
AddCustomFieldValueByName('IMDBRating',ItemValue);
LogMessage('Function ParsePage_IMDBMovieBASE - Get result ratingValue ~imdbrating~ (CF~IMDB Rating~~IMDBRating~):|' + ItemValue + '||');
End; //If Not (ReferencePageDownloaded) Then Begin should end here
//(*
If Not (ReferencePageDownloaded) And Not (KeywordsPageDownloaded) Then Begin
//Get ~tags~ "keywords" (field with multiple values in a comma separated list)
//curPos := Pos('","keywords":"', HTML); //WEB_SPECIFIC
//If 0 < curPos Then Begin
// endPos := curPos;
//EndPos := PosFrom('","trailer":', HTML, curPos);
//ItemValue := HTMLValues(HTML, '"keywords":{', '"TitleKeywordConnection"', '"text":"', '","', ', ', endPos);
//ItemValue := TextBetWeen(HTML,'","keywords":"','","trailer":',false,curPos);
ItemValue := TextBetWeenFirst(ItemList,'","keywords":"','","');
AddFieldValueXML('tags', ItemValue);
LogMessage('Function ParsePage_IMDBMovieBASE - Get results Tags:|' + ItemValue + '||');
//End; //If 0 < curPos Then Begin should end here
End; //If Not (ReferencePageDownloaded) And Not (KeywordsPageDownloaded) Then Begin should end here
//*)
Quote from: Ivek23 on 8 04 June, 2026, 08:17:25 AMYes, it's interesting, because I checked it myself, and found everything the same in the source code as stated here. There is something behind the scenes that doesn't let this data be downloaded.Did you check to Overwrite Tags after restarting PVD (not before!) when choosing Main Page only in Script Configurator?
Quote from: afrocuban on 9 03 June, 2026, 09:54:00 PMQuote"keywords":{
"TitleKeywordConnection"
"text":"
data-testid="storyline-plot-keywords"
data-testid="storyline-plot-links">
<span class="ipc-chip__text">
</span>
all still exist on a main page and in proper places...
Quote from: Ivek23 on 8 03 June, 2026, 08:39:01 PMMy mistake, between lines 3620 and 3683.Oh, ok. I was confused for a moment, hahah. I will check that later, although I checked all html layout from the script from that range and it exists on main page, so I am very curious what wouldn't work then
Quote"keywords":{
"TitleKeywordConnection"
"text":"
data-testid="storyline-plot-keywords"
data-testid="storyline-plot-links">
<span class="ipc-chip__text">
</span>
Quote from: afrocuban on 5 03 June, 2026, 05:27:30 PMQuote from: Ivek23 on 3 03 June, 2026, 03:29:33 PMIn Function ParsePage_IMDBMovieBASE the keyword code between lines 3620 and 3833 still doesn't work unless the data from the Plot Keywords web page is loaded.
Can you provide more details which fields aren't working specifically?
If Not (ReferencePageDownloaded) And Not (KeywordsPageDownloaded) Then Begin
//Get ~tags~ "keywords" (field with multiple values in a comma separated list)
curPos := Pos('"keywords":{', HTML); //WEB_SPECIFIC
If 0 < curPos Then Begin
endPos := curPos;
ItemValue := HTMLValues(HTML, '"keywords":{', '"TitleKeywordConnection"', '"text":"', '","', ', ', endPos);
AddFieldValueXML('tags', ItemValue);
LogMessage('Function ParsePage_IMDBMovieBASE - Get results Tags:|' + ItemValue + '||');
End; //If 0 < curPos Then Begin should end here
End; //If Not (ReferencePageDownloaded) And Not (KeywordsPageDownloaded) Then Begin should end here
If Not (KeywordsPageDownloaded) Then Begin
//Extract "Plot Keywords" ~tags~ And (CF~Plot Keywords~) information
curPos := Pos('data-testid="storyline-plot-keywords"', HTML);
LogMessage('Function ParsePage_IMDBMovieBASE - Get result curPos: #' + IntToStr(curPos) + '|');
If 0 < curPos Then Begin
endPos := PosFrom('data-testid="storyline-plot-links">', HTML, curPos);
LogMessage('Function ParsePage_IMDBMovieBASE - Get result endPos: #' + IntToStr(endPos) + '|');
End; //If 0 < curPos Then Begin should end here
//Check for "no keywords" message
If (Pos('It looks like we don' + Chr(39) + 't have any Plot Keywords for this title yet.', HTML) > 0) Then Begin
LogMessage('Function ParsePage_IMDBMovieBASE - Found no keywords message. Exiting...');
End; //If (Pos('It looks like we don' + Chr(39) + 't have any Plot Keywords for this title yet.', HTML) > 0) Then Begin should end here
//Find the position of the keywords chip list
curPos := PosFrom('<span class="ipc-chip__text">', HTML, curPos);
If 0 < curPos Then Begin
//Initialize counters
updateCount := 0;
extraCount := 0;
//Iterate through all <span class="ipc-chip__text"> tags within the section
While curPos > 0 Do Begin
//Stop if the update count reaches the limit
If updateCount >= PLOTKEYWORDS_LIMIT Then Break;
//Find the end of the current <span>
tagendPos := PosFrom('</span>', HTML, curPos);
//Extract the keyword text
ItemValue := Copy(HTML, curPos + Length('<span class="ipc-chip__text">'), tagendPos - (curPos + Length('<span class="ipc-chip__text">')));
//Check if this is a "... more" link
If Pos('more', LowerCase(ItemValue)) > 0 Then Begin
tmpStr := Trim(StringReplace(ItemValue, 'more', '', True, True, False));
extraCount := StrToIntDef(tmpStr, 0);
End Else Begin
updateCount := updateCount + 1;
End; //If Pos('more', LowerCase(ItemValue)) > 0 Then Begin should end here
//Move curPos past the </span> to find the next one
curPos := PosFrom('<span class="ipc-chip__text">', HTML, tagendPos);
End; //While curPos > 0 Do Begin should end here
//Calculate total count including "xxx more"
totalCount := updateCount + extraCount;
//Use extracted MoviesID and Category to form the link for (CF~Plot Keywords~)
AddCustomFieldValueByName('Plot Keywords', '<link url="' + MovieURL + 'keywords/">Plot Keywords</link>' + ' ' + Chr(149) + ' Total Plot keywords / Tags (' + IntToStr(totalCount) + ')' + ' ' + Chr(149));
LogMessage('Function ParsePage_IMDBMoviePLOTKEYWORDS - Added custom field value for Plot Keywords: <link url="' + MovieURL + 'keywords/">Plot Keywords</link>' + ' ' + Chr(149) + ' Total Plot keywords / Tags (' + IntToStr(totalCount) + ')' + ' ' + Chr(149));
End; //If 0 < curPos Then Begin should end here
End; //If Not (KeywordsPageDownloaded) Then Begin should end hereQuote from: Ivek23 on 3 03 June, 2026, 03:29:33 PMIn Function ParsePage_IMDBMovieBASE the keyword code between lines 3620 and 3833 still doesn't work unless the data from the Plot Keywords web page is loaded.
Page created in 0.485 seconds with 20 queries.