summaryrefslogtreecommitdiffstats
path: root/vendor/fguillot/picofeed/picofeed
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-11-07 12:32:05 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2014-11-07 12:32:05 +0100
commit7f81afd7efbeb931d16ce1f3a1ed53a54226d553 (patch)
tree180720cd96aa66ae8964f13734e090d4b82a178e /vendor/fguillot/picofeed/picofeed
parenta6d6288e65aa416aca7535e81d9e8837c2cfb103 (diff)
move 3rdparty directory to vendor to be more consistent with composer standard and because we also use js/vendor for third party libs
Diffstat (limited to 'vendor/fguillot/picofeed/picofeed')
-rwxr-xr-xvendor/fguillot/picofeed/picofeed109
1 files changed, 109 insertions, 0 deletions
diff --git a/vendor/fguillot/picofeed/picofeed b/vendor/fguillot/picofeed/picofeed
new file mode 100755
index 000000000..525331197
--- /dev/null
+++ b/vendor/fguillot/picofeed/picofeed
@@ -0,0 +1,109 @@
+#!/usr/bin/env php
+<?php
+
+require_once './vendor/autoload.php';
+
+use PicoFeed\Reader\Reader;
+use PicoFeed\Logging\Logging;
+
+function get_feed($url, $disable_filtering = false)
+{
+ $reader = new Reader;
+ $reader->download($url);
+
+ $parser = $reader->getParser();
+
+ if ($disable_filtering) {
+ $parser->disableContentFiltering();
+ }
+
+ if ($parser !== false) {
+
+ $feed = $parser->execute();
+
+ if ($feed !== false) {
+ return $feed;
+ }
+ }
+
+ return false;
+}
+
+function get_item($feed, $item_id)
+{
+ foreach ($feed->items as $item) {
+ if ($item->getId() === $item_id) {
+ echo $item;
+ echo "============= CONTENT ================\n";
+ echo $item->getContent();
+ echo "\n============= CONTENT ================\n";
+ break;
+ }
+ }
+}
+
+function dump_feed($url)
+{
+ $feed = get_feed($url);
+
+ if ($feed === false) {
+ die("Unable to fetch the feed\n");
+ }
+
+ echo $feed;
+}
+
+function debug_feed($url)
+{
+ get_feed($url);
+ print_r(Logging::getMessages());
+}
+
+function dump_item($url, $item_id)
+{
+ $feed = get_feed($url);
+
+ if ($feed === false) {
+ die("Unable to fetch the feed\n");
+ }
+
+ get_item($feed, $item_id);
+}
+
+function nofilter_item($url, $item_id)
+{
+ $feed = get_feed($url, true);
+
+ if ($feed === false) {
+ die("Unable to fetch the feed\n");
+ }
+
+ get_item($feed, $item_id);
+}
+
+if ($argc === 4) {
+ switch ($argv[1]) {
+ case 'item':
+ dump_item($argv[2], $argv[3]);
+ die;
+ case 'nofilter':
+ nofilter_item($argv[2], $argv[3]);
+ die;
+ }
+}
+else if ($argc === 3) {
+ switch ($argv[1]) {
+ case 'feed':
+ dump_feed($argv[2]);
+ die;
+ case 'debug':
+ debug_feed($argv[2]);
+ die;
+ }
+}
+
+printf("Usage:\n");
+printf("%s feed <feed-url>\n", $argv[0]);
+printf("%s debug <feed-url>\n", $argv[0]);
+printf("%s item <feed-url> <item-id>\n", $argv[0]);
+printf("%s nofilter <feed-url> <item-id>\n", $argv[0]);