From 5bf4c1bdaf068d58e3141c0015d1b9341965b43b Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Sat, 27 Jul 2013 16:51:38 +0200 Subject: [PATCH] Add initial support for scraping Pump.io activity streams Use symlinks to represent alternate sites with the same structure (i.e. same server software). Symlinks are handy and concise, an alternative way would be to introduce some equivalence mapping, like in the patch below, but I don't really like that: diff --git a/tweeper.php b/tweeper.php index a019684..eb12af2 100755 --- a/tweeper.php +++ b/tweeper.php @@ -101,9 +101,18 @@ $url = parse_url($src_url); if (FALSE === $url || empty($url["host"])) die("Invalid url: $url\n"); -$stylesheet = __DIR__ . "/rss_converter_" . $url["host"] . ".xsl"; +$equivalence_map = array( + "identi.ca" => "pump.io" +); + +if (array_key_exists($url["host"], $equivalence_map)) + $host = $equivalence_map[$url["host"]]; +else + $host = $url["host"]; + +$stylesheet = __DIR__ . "/rss_converter_" . $host . ".xsl"; if (FALSE === file_exists($stylesheet)) - die("Conversion to RSS not supported: {$url["host"]}\n"); + die("Conversion to RSS not supported: {$host}\n"); $tweeper = new Tweeper($stylesheet); echo $tweeper->tweep($src_url); --- rss_converter_identi.ca.xsl | 1 + rss_converter_pump.io.xsl | 75 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 120000 rss_converter_identi.ca.xsl create mode 100644 rss_converter_pump.io.xsl diff --git a/rss_converter_identi.ca.xsl b/rss_converter_identi.ca.xsl new file mode 120000 index 0000000..d8042a1 --- /dev/null +++ b/rss_converter_identi.ca.xsl @@ -0,0 +1 @@ +rss_converter_pump.io.xsl \ No newline at end of file diff --git a/rss_converter_pump.io.xsl b/rss_converter_pump.io.xsl new file mode 100644 index 0000000..ef4b6e8 --- /dev/null +++ b/rss_converter_pump.io.xsl @@ -0,0 +1,75 @@ + + + + + + + + + + + + + <xsl:value-of select="concat($user-name, ': ', normalize-space($activity-text))"/> + + + + + + + + + + <![CDATA[ + + ]]> + + + + + + + + + Tweeper + + <xsl:value-of select="concat(substring-after($user-name, '@'), ' / ', substring-before($user-name, '@'))"/> + + + + + + + + + + + + + + + + + -- 2.1.4