viewgit/inc/functions.php:22 Function utf8_encode() is deprecated [8192]

Slight improvement to how detail entries extracted for DescriptionUpdateJob, a=chris

Chris Pollett [2022-11-26 05:Nov:th]
Slight improvement to how detail entries extracted for DescriptionUpdateJob, a=chris
Filename
src/configs/Createdb.php
src/library/Utility.php
src/library/media_jobs/DescriptionUpdateJob.php
src/models/GroupModel.php
diff --git a/src/configs/Createdb.php b/src/configs/Createdb.php
index 36eefce41..990a5f8b8 100755
--- a/src/configs/Createdb.php
+++ b/src/configs/Createdb.php
@@ -978,8 +978,12 @@ $media_sources = [
         'https://www.imdb.com/find?q=',
         "Year/Rating | //ul[contains(@data-testid," .
             "'hero-title-block__metadata')]/li/a\n" .
+        "IMDB | (.//div[contains(@data-testid," .
+            "'hero-rating-bar__aggregate-rating__score')]/span)[1]\n" .
         "Plot | //span[contains(@data-testid,'plot-l')]\n" .
-        "Genres | //a[contains(@class,'ipc-chip')]" .
+        "Genres | //a[contains(@class,'ipc-chip')]\n" .
+        "Credits | //div[contains(@data-testid,'title-pc-expanded-section')]" .
+            "//li[contains(@data-testid,'title-pc-principal-credit')]//a\n".
         "###//li[contains(@class,'find-result-item')]###" .
         "//a[contains(@class,'pc-metadata-list-summary-item__t')]###" .
         "//a[contains(@class,'ipc-metadata-list-summary-item__t')]/@href".
diff --git a/src/library/Utility.php b/src/library/Utility.php
index f11938ae5..478c80688 100755
--- a/src/library/Utility.php
+++ b/src/library/Utility.php
@@ -1143,7 +1143,7 @@ function getDomFromString($to_parse)
     set_error_handler(null);
     $dom = new \DOMDocument("1.0");
     $dom->formatOutput = true;
-        $dom->preserveWhiteSpace = false;
+    $dom->preserveWhiteSpace = false;
     if (stristr($to_parse, "<html") === false && !empty($to_parse)) {
         @$dom->loadXML($to_parse);
     }
diff --git a/src/library/media_jobs/DescriptionUpdateJob.php b/src/library/media_jobs/DescriptionUpdateJob.php
index 84b7bc6d9..6d4c60b96 100644
--- a/src/library/media_jobs/DescriptionUpdateJob.php
+++ b/src/library/media_jobs/DescriptionUpdateJob.php
@@ -379,11 +379,20 @@ class DescriptionUpdateJob extends MediaJob
             $dom_xpath = new \DOMXPath($dom);
             $detail_nodes = @$dom_xpath->evaluate($detail_xpath);
             if (!empty($detail_nodes)) {
-                foreach ($detail_nodes as $detail_node) {
-                    if (!empty($detail_node->nodeValue)) {
-                        $sub_details .= trim(preg_replace('/\s+/', ' ',
-                            $detail_node->nodeValue)) . "\n";
-                        $info_found = true;
+                if (is_string($detail_nodes)) {
+                    $sub_details .= trim(preg_replace('/\s+/', ' ',
+                        $detail_nodes)) . "\n";
+                    $info_found = true;
+                } else {
+                    foreach ($detail_nodes as $detail_node) {
+                        if (!empty($detail_node->textContent)) {
+                            $entry_text = trim(preg_replace('/\s+/', ' ',
+                                $detail_node->textContent)) . "\n";
+                            if (!str_contains($sub_details, $entry_text)) {
+                                $sub_details .= $entry_text;
+                                $info_found = true;
+                            }
+                        }
                     }
                 }
             }
diff --git a/src/models/GroupModel.php b/src/models/GroupModel.php
index fc8d70e5f..a34bd8449 100644
--- a/src/models/GroupModel.php
+++ b/src/models/GroupModel.php
@@ -4210,7 +4210,7 @@ EOD;
             file_put_contents($subfolder_counts_file,
                 serialize($subfolder_counts));
         }
-        if (!empty($needs_description_file)) {
+        if ($create && !empty($needs_description_file)) {
             file_put_contents($needs_description_file,
                 $needs_description_string);
         }
ViewGit