diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-07 12:32:05 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-07 12:32:05 +0100 |
commit | 7f81afd7efbeb931d16ce1f3a1ed53a54226d553 (patch) | |
tree | 180720cd96aa66ae8964f13734e090d4b82a178e /vendor/fguillot/picofeed/picofeed | |
parent | a6d6288e65aa416aca7535e81d9e8837c2cfb103 (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-x | vendor/fguillot/picofeed/picofeed | 109 |
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]); |