[Patch] Fix TFD filter in af_comics plugin

Development-related discussion, including bundled plugins
wbagdon
Bear Rating Trainee
Bear Rating Trainee
Posts: 2
Joined: 08 Apr 2017, 20:01

[Patch] Fix TFD filter in af_comics plugin

Postby wbagdon » 08 Apr 2017, 20:05

A while ago TFD changed the html for the comics page and broke the filter.
Here is a patch to show the comics in the feed again, as well as add Married to the Sea (sister site)

Code: Select all

diff --git a/plugins/af_comics/filters/af_comics_tfd.php b/plugins/af_comics/filters/af_comics_tfd.php
index d47c164..eeec28f 100644
--- a/plugins/af_comics/filters/af_comics_tfd.php
+++ b/plugins/af_comics/filters/af_comics_tfd.php
@@ -2,11 +2,12 @@
 class Af_Comics_Tfd extends Af_ComicFilter {

        function supported() {
-               return array("Toothpaste For Dinner");
+               return array("Toothpaste For Dinner", "Married to the Sea");
        }

        function process(&$article) {
-               if (strpos($article["link"], "toothpastefordinner.com") !== FALSE) {
+               if (strpos($article["link"], "toothpastefordinner.com") !== FALSE ||
+                   strpos($article["link"], "marriedtothesea.com") !== FALSE) {
                        $res = fetch_file_contents($article["link"], false, false, false,
                                false, false, 0,
                                "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)");
@@ -14,13 +15,13 @@ class Af_Comics_Tfd extends Af_ComicFilter {
                        if (!$res) return $article;

                        $doc = new DOMDocument();
-                       $doc->loadHTML($res);
-
+                       @$doc->loadHTML(fetch_file_contents($article["link"]));
+
                        $basenode = false;

                        if ($doc) {
                                $xpath = new DOMXPath($doc);
-                               $basenode = $xpath->query('//img[@class="comic"]')->item(0);
+                               $basenode = $xpath->query('//img[contains(@src, ".gif")]')->item(0);

                                if ($basenode) {
                                        $article["content"] = $doc->saveXML($basenode);

User avatar
fox
^ me reading your posts ^
Posts: 6318
Joined: 27 Aug 2005, 22:53
Location: Saint-Petersburg, Russia
Contact:

Re: [Patch] Fix TFD filter in af_comics plugin

Postby fox » 08 Apr 2017, 20:29

can you use gitlab pls?

wbagdon
Bear Rating Trainee
Bear Rating Trainee
Posts: 2
Joined: 08 Apr 2017, 20:01

Re: [Patch] Fix TFD filter in af_comics plugin

Postby wbagdon » 10 Apr 2017, 16:03

Sure, my Gitlab account is wbagdon if you can give me permissions to submit a merge request

User avatar
fox
^ me reading your posts ^
Posts: 6318
Joined: 27 Aug 2005, 22:53
Location: Saint-Petersburg, Russia
Contact:

Re: [Patch] Fix TFD filter in af_comics plugin

Postby fox » 10 Apr 2017, 16:32

you should have the permissions now


Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest