1
Talk / Re: Donations to Ivek
« Last post by Ivek23 on December 13, 2025, 07:39:28 am »Belated, but my sincere condolences.
aimhere
Thanks.
Belated, but my sincere condolences.
aimhere
To be clear, these parts work correctly, my fixes to some of the code are only cosmetic in nature. Below are examples of what I had in mind.
Hey, Ivek. Thanks. Can you please post examples or imdb links where those matters and my code doesn't work? I just can't grasp just by looking at the code. Thanks.
<link url="https://www.imdb.com/title/tt0147800/parentalguide/#contentRating">Content Ratings Summary: </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#contentRating">Content rating (5) • </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#nudity">Sex & Nudity (10) • </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#violence">Violence & Gore (7) • </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#profanity">Profanity (and after• </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#alcohol">Alcohol, Drugs & Smoking (5) • </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#frightening">Frightening & Intense Scenes (1) • </link><link url="https://www.imdb.com/title/tt0147800/parentalguide/#certificates">Certifications (49)</link>
<link url="https://www.imdb.com/title/tt0147800/movieconnections/">Connections:</link> • <link url="https://www.imdb.com/title/tt0147800/movieconnections/#featured_in">Featured in (134)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#features">Features (1)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#followed_by">Followed by (2)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#referenced_in">Referenced in (59)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#references">References (</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#spin_off">Spin-off (1)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#spoofed_in">Spoofed in (2)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#spoofs">Spoofs (1)</link> <link url="https://www.imdb.com/title/tt0147800/movieconnections/#version_of">Version of (58)</link>
<link url="https://www.imdb.com/title/tt0147800/movieconnections/">Connections: </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#featured_in">Featured in (134) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#features">Features (1) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#followed_by">Followed by (2) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#referenced_in">Referenced in (59) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#references">References (and after• </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#spin_off">Spin-off (1) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#spoofed_in">Spoofed in (2) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#spoofs">Spoofs (1) • </link><link url="https://www.imdb.com/title/tt0147800/movieconnections/#version_of">Version of (58)</link>
<link url="https://www.imdb.com/title/tt0147800/parentalguide/#contentRating">Content Ratings Summary:</link> <link url="https://www.imdb.com/title/tt0147800/parentalguide/#contentRating">Content rating (5)</link> • <link url="https://www.imdb.com/title/tt0147800/parentalguide/#nudity">Sex & Nudity (10)</link> • <link url="https://www.imdb.com/title/tt0147800/parentalguide/#violence">Violence & Gore (7)</link> • <link url="https://www.imdb.com/title/tt0147800/parentalguide/#profanity">Profanity (</link> • <link url="https://www.imdb.com/title/tt0147800/parentalguide/#alcohol">Alcohol, Drugs & Smoking (5)</link> • <link url="https://www.imdb.com/title/tt0147800/parentalguide/#frightening">Frightening & Intense Scenes (1)</link> • <link url="https://www.imdb.com/title/tt0147800/parentalguide/#certificates">Certifications (49)</link> •
AddCustomFieldValueByName('LDDbSearch', '<link url="https://www.lddb.com/search/IMDb/' + MovieID1 + '">LaserDiscDbSearch</link> ' + '<link url="http://www.soundtrack.net/search/?q=' + GetFieldValue(2) + '">Soundtrack.NetSearch</link> ' + '<link url="https://store.intrada.com/s.nl?sc=16&category=&search=' + GetFieldValue(2) + '">Intrada</link> ' + '<link url="https://www.aveleyman.com/?Film.aspx/' + GetFieldValue(2) + '">Aveleyman</link> ' + '<link url="https://www.bing.com/Search?q=' + GetFieldValue(2) + '%20site%3Awww.aveleyman.com/">BingAvSearch</link> ' + '<link url="https://www.google.com/search?q=' + GetFieldValue(2) + '%20site%3Awww.aveleyman.com/">GoogleAvSearch</link> ' + '<link url="https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dmovies-tv&field-keywords=' + GetFieldValue(2) + '">AmazonSearch</link> ' + '<link url="http://www.impawards.com/cgi-bin/htsearch?method=or&words=' + GetFieldValue(2) + '">IMPawards/cgi-bin</link> ' + '<link url="http://www.impawards.com/search.php/' + GetFieldValue(2) + '">impawards.com</link>'); //Get ~IMDb Movie Url~ (CF~IMDb.com~) and (CF~WaybackArchive IMDb URLs~)
Movie_URL := StringReplace(DownloadURL, BASE_URL_PRE_TRUE, BASE_URL_PRE, True, False, False);
AddCustomFieldValueByName('IMDb.com', '<link url="' + Movie_URL + '">IMDb.com</link>');
AddCustomFieldValueByName('WaybackArchive IMDb URLs', '<link url="https://web.archive.org/web/*/' + Movie_URL + '*">*IMDb.com*</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'business">Busines</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'combined">Combined</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'fullcredits">Full Cast&Crew</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'awards">Awards</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'releaseinfo">ReleaseDates</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'technical">TechSpecs</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'parentalguide">ParentsGuide</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'keywords">PlotKeywords</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'plotsummary">PlotSummary</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'taglines">Taglines</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'movieconnections">Connections</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'soundtrack">Soundtracks</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'externalsites">MiscSites</link>');
AddCustomFieldValueByName('WaybackArchive IMDb URLs', '<link url="https://web.archive.org/web/*/' + Movie_URL + '*">*IMDb.com*</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'business">Busines</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'combined">Combined</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'technical">TechSpecs</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'dvd">DVD</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'laserdisc">Laserdisc</link>'); //Get ~IMDb Movie Url~ (CF~IMDb.com~) and (CF~WaybackArchive IMDb URLs~)
Movie_URL := StringReplace(DownloadURL, BASE_URL_PRE_TRUE, BASE_URL_PRE, True, False, False);
AddCustomFieldValueByName('IMDb.com', '<link url="' + Movie_URL + '">IMDb.com</link>');
AddCustomFieldValueByName('WaybackArchive IMDb URLs', '<link url="https://web.archive.org/web/*/' + Movie_URL + '*">*IMDb.com*</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'business">Busines</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'combined">Combined</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'fullcredits">Full Cast&Crew</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'awards">Awards</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'releaseinfo">ReleaseDates</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'technical">TechSpecs</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'parentalguide">ParentsGuide</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'keywords">PlotKeywords</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'plotsummary">PlotSummary</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'taglines">Taglines</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'movieconnections">Connections</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'soundtrack">Soundtracks</link> <link url="https://web.archive.org/web/*/' + Movie_URL + 'externalsites">MiscSites</link>'); Fullinfo := '';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + '">MainPage</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'reference">Reference</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'fullcredits">Full Cast&Crew</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'awards">Awards</link> ';
//Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'releaseinfo">ReleaseDates</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'technical">TechSpecs</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'parentalguide">ParentsGuide</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'keywords">PlotKeywords</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'plotsummary">PlotSummary</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'locations">FilmLocations</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'taglines">Taglines</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'companycredits">CompanyCredits</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'movieconnections">Connections</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'soundtrack">Soundtracks</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'externalsites">MiscSites</link> ';
//Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'externalsites#photos">MiscPhoto</link> ';
Fullinfo:=Fullinfo+'<link url="'+Movie_URL+'externalsites/#misc">MiscSites</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'externalsites#photo">MiscPhoto</link> ';
Fullinfo := Fullinfo + '<link url="' + Movie_URL + 'mediaindex">PhotoGallery</link> ';
Fullinfo := Fullinfo + '<link url="http://www.imdb.com/chart/top">IMDb Top 250</link> ';
Fullinfo := Fullinfo + '<link url="http://www.imdb.com/chart/bottom">Lowest Rated</link> ';
Fullinfo := Fullinfo + '<link url="http://www.imdb.com/chart/toptv">Top 250 TV</link>';
If Fullinfo <> '' then IMDB_URL := Fullinfo;
If IMDB_URL <> '' then AddCustomFieldValueByName('IMDb Url', IMDB_URL);
If IMDB_URL <> '' then AddCustomFieldValueByName('IMDb Movie Url', IMDB_URL);
LogMessage('Function ParsePage - Get result Fullinfo-IMDB_URL (CF~IMDb Movie Url~ ): ' + #13 + IMDB_URL + '| |'); AddCustomFieldValueByName('IMDbExternalSitesUrl', '<link url="' + Movie_URL + 'releaseinfo">ReleaseDates</link> <link url="' + Movie_URL + 'plotsummary">PlotSummary</link> <link url="' + Movie_URL + 'companycredits">CompanyCredits</link> <link url="' + Movie_URL + 'movieconnections">Connections</link> <link url="' + Movie_URL + 'externalsites/#misc">MiscSites</link> <link url="' + Movie_URL + 'externalsites#photos">MiscPhoto</link>'); Fullinfo1 := '';
Fullinfo1:=Fullinfo1+'<link url="http://www.boxofficemojo.com/title/'+MovieID+'">BoxOfficeMojo</link> ';
Fullinfo1:=Fullinfo1+'<link url="http://en.wikipedia.org/w/index.php?search='+GetFieldValue(2)+'">Wikipedia</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.movieposterdb.com/search?category=title&q='+MovieID+'">MoviePosterDB Info</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.dvdsreleasedates.com/search/?searchStr='+GetFieldValue(2)+'">DVDs ReleaseDates</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dmovies-tv&field-keywords='+GetFieldValue(2)+'">AmazonSearch</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dmovies-tv&field-keywords='+GetFieldValue(2)+'%20'+GetFieldValue(5)+'">AmazonSearch1</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.allmovie.com/search/movies/'+GetFieldValue(2)+'">AllMovieSearch</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.themoviedb.org/search?query=' +GetFieldValue(2)+'">TMDBSearch</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.rottentomatoes.com/search/?search='+GetFieldValue(2)+'">RottenTomatoesSearch</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.thetvdb.com/search?query='+GetFieldValue(2)+'">TVDB Search</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.soundtrackcollector.com/catalog/search.php?searchon=all&searchtext='+GetFieldValue(2)+'">SoundCollSearch</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.blu-ray.com/search/?quicksearch=1&quicksearch_country=all&quicksearch_keyword='+MovieID+'§ion=theatrical">BR.comSearch</link> ';
Fullinfo1:=Fullinfo1+'<link url="https://www.lddb.com/search/IMDb/'+MovieID1+'">LaserDiscDb Search</link> ';
Fullinfo1:=Fullinfo1+'<link url="http://cse.google.com/cse?cx=004917987473580823572:eonwdtnjfi8&cof=forid%3a9&q='+GetFieldValue(2)+'">IMPawards-cse</link> ';
Fullinfo1:=Fullinfo1+'<link url="http:///www.impawards.com/cgi-bin/htsearch?method=or&words='+GetFieldValue(2)+'">impawards.com/cgi-bin</link> ';
If Fullinfo1 <> '' then Fullinfo1 := Fullinfo1;
If Fullinfo1 <> '' then AddCustomFieldValueByName('IMDbMovieLinksInfo', Fullinfo1); // Get (CF~Connections~) info
If Pos('>Connections<', HTML) > 0 Then
Begin
LogMessage('===Function ParsePage_IMDBMovieCONNECTIONS - Starting Connections Parsing ===');
curPos := Pos('>Connections<', HTML);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - curPos for "Connections" section found at: ' + IntToStr(curPos));
If Pos('It looks like we don'+Chr(39)+'t have any Connections for this title yet.', HTML) > 0 Then
Begin
Category1 := 'No Connections';
Category3 := '';
AddCustomFieldValueByName('Connections', Category1);
AddCustomFieldValueByName('Connect', Category3);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - No Connections found for this title');
End Else Begin
// Extract the relevant section for categories
If PosFrom('<span class="ipc-simple-select__container" data-testid="jumpTo">', HTML, curPos) > 0 Then Begin
curPos := PosFrom('<span class="ipc-simple-select__container" data-testid="jumpTo">', HTML, curPos);
endPos := PosFrom('</select></span></span>', HTML, curPos);
Category2 := Copy(HTML, curPos, endPos - curPos);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Extracted Category2 section: ' + Category2);
// Parse the options and category names
curPos := 1;
Category1 := '';
While PosFrom('<option', Category2, curPos) > 0 Do
Begin
curPos := PosFrom('<option', Category2, curPos) + Length('<option');
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - curPos at option tag: ' + IntToStr(curPos));
optionValue := TextBetween(Category2, 'value="', '">', False, curPos);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Extracted optionValue: ' + optionValue);
categoryName := TextBetween(Category2, '">', '</option>', False, curPos);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Extracted categoryName: ' + categoryName);
// Format the category link
Category1 := Category1 + '<link url="' + MovieURL + optionValue + '">' + categoryName + ' • </link>';
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Formatted and added category link: ' + '<link url="' + MovieURL + optionValue + '">' + categoryName + ' • </link>');
// Move to the next position
curPos := PosFrom('</option>', Category2, curPos) + Length('</option>');
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Moved curPos to next option tag: ' + IntToStr(curPos));
End;
// Remove the trailing " • " if it exists and keep the last </link> intact
If Copy(Category1, Length(Category1) - 13, 7) = ' • ' Then
Begin
Category1 := Copy(Category1, 1, Length(Category1) - 14) + '</link>';
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Removed trailing " • " and kept last </link> in Category1');
End;
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Final Category1 before combining: ' + Category1);
// Combine and format the final result
Category1 := '<link url="' + MovieURL + '">Connections: </link>' + Category1;
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Combined and formatted final Category1: ' + Category1);
// Store the result in the custom field
AddCustomFieldValueByName('Connections', Category1);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Stored result in (CF~Connections~)');
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Final Category1 stored: ' + Category1);
LogMessage('===Function ParsePage_IMDBMovieCONNECTIONS - Finished (CF~Connections~) Parsing ===');
End; // Get (CF~Connections~) info
If Pos('>Connections<', HTML) > 0 Then
Begin
LogMessage('===Function ParsePage_IMDBMovieCONNECTIONS - Starting Connections Parsing ===');
curPos := Pos('>Connections<', HTML);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - curPos for "Connections" section found at: ' + IntToStr(curPos));
If Pos('It looks like we don'+Chr(39)+'t have any Connections for this title yet.', HTML) > 0 Then
Begin
Category1 := 'No Connections';
Category3 := '';
AddCustomFieldValueByName('Connections', Category1);
AddCustomFieldValueByName('Connect', Category3);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - No Connections found for this title');
End Else Begin
// Extract the relevant section for categories
If PosFrom('<span class="ipc-simple-select__container" data-testid="jumpTo">', HTML, curPos) > 0 Then Begin
curPos := PosFrom('<span class="ipc-simple-select__container" data-testid="jumpTo">', HTML, curPos);
endPos := PosFrom('</select></span></span>', HTML, curPos);
Category2 := Copy(HTML, curPos, endPos - curPos);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Extracted Category2 section: ' + Category2);
// Parse the options and category names
curPos := 1;
Category1 := '';
While PosFrom('<option', Category2, curPos) > 0 Do
Begin
curPos := PosFrom('<option', Category2, curPos) + Length('<option');
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - curPos at option tag: ' + IntToStr(curPos));
optionValue := TextBetween(Category2, 'value="', '">', False, curPos);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Extracted optionValue: ' + optionValue);
categoryName := TextBetween(Category2, '">', '</option>', False, curPos);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Extracted categoryName: ' + categoryName);
// Format the category link
//Category1 := Category1 + '<link url="' + MovieURL + optionValue + '">' + categoryName + ' • </link>';
// Category1 := Category1 + '<link url="' + MovieURL + optionValue + '">' + categoryName + '</link> • ';
Category1 := Category1 + '<link url="' + MovieURL + optionValue + '">' + categoryName + '</link> ';
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Formatted and added category link: ' + '<link url="' + MovieURL + optionValue + '">' + categoryName + ' • </link>');
// Move to the next position
curPos := PosFrom('</option>', Category2, curPos) + Length('</option>');
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Moved curPos to next option tag: ' + IntToStr(curPos));
End;
// Remove the trailing " • " if it exists and keep the last </link> intact
If Copy(Category1, Length(Category1) - 13, 7) = ' • ' Then
Begin
Category1 := Copy(Category1, 1, Length(Category1) - 14) + '</link>';
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Removed trailing " • " and kept last </link> in Category1');
End;
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Final Category1 before combining: ' + Category1);
// Combine and format the final result
//Category1 := '<link url="' + MovieURL + '">Connections: </link>' + Category1;
if Category1 <> '' then
Category1 := '<link url="' + MovieURL + '">Connections:</link> • ' + Category1
Else
Category1 := '<link url="' + MovieURL + '">Connections:</link> ' + Category1;
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Combined and formatted final Category1: ' + Category1);
// Store the result in the custom field
AddCustomFieldValueByName('Connections', Category1);
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Stored result in (CF~Connections~)');
LogMessage('Function ParsePage_IMDBMovieCONNECTIONS - Final Category1 stored: ' + Category1);
LogMessage('===Function ParsePage_IMDBMovieCONNECTIONS - Finished (CF~Connections~) Parsing ===');
End; // Get (CF~IMDbmpaaSummary~)
curPos := Pos('<select id="jump-to"', HTML);
If curPos > 0 Then
Begin
// Extract the relevant section for categories
curPos := PosFrom('<option', HTML, curPos);
endPos := PosFrom('</select>', HTML, curPos);
mpaaSection := Copy(HTML, curPos, endPos - curPos);
LogMessage('Function ParsePage_IMDBMovieMPAA - Extracted Category section for (CF~IMDbmpaaSummary~): ' + mpaaSection);
// Parse the options and category names
curPos := 1;
mpaaContent := '';
While PosFrom('<option', mpaaSection, curPos) > 0 Do
Begin
curPos := PosFrom('<option', mpaaSection, curPos) + Length('<option');
optionValue := TextBetween(mpaaSection, 'value="', '">', False, curPos);
categoryName := TextBetween(mpaaSection, '">', '</option>', False, curPos);
// Format the category link
mpaaContent := mpaaContent + '<link url="' + MovieURL + optionValue + '">' + categoryName + ' • </link>';
// Move to the next position
curPos := PosFrom('</option>', mpaaSection, curPos) + Length('</option>');
End;
// Remove the trailing " • " if it exists and keep the last </link> intact
If Copy(mpaaContent, Length(mpaaContent) - 13, 7) = ' • ' Then
Begin
mpaaContent := Copy(mpaaContent, 1, Length(mpaaContent) - 14) + '</link>';
End;
// Combine and format the final result
mpaaContent := '<link url="' + MovieURL + '#contentRating' + '">Content Ratings Summary: </link>' + mpaaContent;
// Store the result in the custom field
AddCustomFieldValueByName('IMDbmpaaSummary', mpaaContent);
LogMessage('Function ParsePage_IMDBMovieMPAA - Stored result for (CF~IMDbmpaaSummary~)');
End
Else
Begin
LogMessage('Function ParsePage_IMDBMovieMPAA - Content Rating section for (CF~IMDbmpaaSummary~) not found');
//Result := prError; // Set to error if content rating section is not found
End; // Get (CF~IMDbmpaaSummary~)
curPos := Pos('<select id="jump-to"', HTML);
If curPos > 0 Then
Begin
// Extract the relevant section for categories
curPos := PosFrom('<option', HTML, curPos);
endPos := PosFrom('</select>', HTML, curPos);
mpaaSection := Copy(HTML, curPos, endPos - curPos);
LogMessage('Function ParsePage_IMDBMovieMPAA - Extracted Category section for (CF~IMDbmpaaSummary~): ' + mpaaSection);
// Parse the options and category names
curPos := 1;
mpaaContent := '';
While PosFrom('<option', mpaaSection, curPos) > 0 Do
Begin
curPos := PosFrom('<option', mpaaSection, curPos) + Length('<option');
optionValue := TextBetween(mpaaSection, 'value="', '">', False, curPos);
categoryName := TextBetween(mpaaSection, '">', '</option>', False, curPos);
// Format the category link
// mpaaContent := mpaaContent + '<link url="' + MovieURL + optionValue + '">' + categoryName + ' • </link>';
mpaaContent := mpaaContent + '<link url="' + MovieURL + optionValue + '">' + categoryName + '</link> • ';
// Move to the next position
curPos := PosFrom('</option>', mpaaSection, curPos) + Length('</option>');
End;
// Remove the trailing " • " if it exists and keep the last </link> intact
If Copy(mpaaContent, Length(mpaaContent) - 13, 7) = ' • ' Then
Begin
mpaaContent := Copy(mpaaContent, 1, Length(mpaaContent) - 14) + '</link>';
End;
// Combine and format the final result
//mpaaContent := '<link url="' + MovieURL + '#contentRating' + '">Content Ratings Summary: </link>' + mpaaContent;
mpaaContent := '<link url="' + MovieURL + '#contentRating' + '">Content Ratings Summary:</link> ' + mpaaContent;
// Store the result in the custom field
AddCustomFieldValueByName('IMDbmpaaSummary', mpaaContent);
LogMessage('Function ParsePage_IMDBMovieMPAA - Stored result for (CF~IMDbmpaaSummary~)');
End
Else
Begin
LogMessage('Function ParsePage_IMDBMovieMPAA - Content Rating section for (CF~IMDbmpaaSummary~) not found');
//Result := prError; // Set to error if content rating section is not found
End;