diff options
author | Bernhard Posselt <Raydiation@users.noreply.github.com> | 2013-09-25 15:09:45 -0700 |
---|---|---|
committer | Bernhard Posselt <Raydiation@users.noreply.github.com> | 2013-09-25 15:09:45 -0700 |
commit | 6d5e8373a9dd79c16a028d4799a6325b885f143f (patch) | |
tree | c08a9674bc3c370e1a3e8219db8cbeddb872abaa /utility | |
parent | 5ea27804abb01645a64d7e5a63bb87d7b2e4e27b (diff) | |
parent | 9498b293c01856a67419b1d3c7d7425658a10a85 (diff) |
Merge pull request #371 from owncloud/comic-enhancers
Add article enhancer for various comic sites
Diffstat (limited to 'utility')
-rw-r--r-- | utility/articleenhancer/cadenhancer.php | 47 | ||||
-rw-r--r-- | utility/articleenhancer/escapistcomicenhancer.php | 49 | ||||
-rw-r--r-- | utility/articleenhancer/leasticoulddoenhancer.php | 45 | ||||
-rw-r--r-- | utility/articleenhancer/pennyarcadeenhancer.php | 47 | ||||
-rw-r--r-- | utility/articleenhancer/twogagenhancer.php | 52 |
5 files changed, 240 insertions, 0 deletions
diff --git a/utility/articleenhancer/cadenhancer.php b/utility/articleenhancer/cadenhancer.php new file mode 100644 index 000000000..9df7f5eaf --- /dev/null +++ b/utility/articleenhancer/cadenhancer.php @@ -0,0 +1,47 @@ +<?php + +/** + * ownCloud - News + * + * @author Alessandro Cosentino + * @author Bernhard Posselt + * @copyright 2012 Alessandro Cosentino cosenal@gmail.com + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Utility\ArticleEnhancer; + +use \OCA\News\Utility\SimplePieFileFactory; + + +class CADEnhancer extends ArticleEnhancer { + + + public function __construct(SimplePieFileFactory $fileFactory, $purifier, + $timeout){ + parent::__construct( + $purifier, + $fileFactory, + array( + '/cad-comic.com\/cad\/\d+\/$/' => '//*[@id=\'content\']/img' + ), + $timeout + ); + } + + +} diff --git a/utility/articleenhancer/escapistcomicenhancer.php b/utility/articleenhancer/escapistcomicenhancer.php new file mode 100644 index 000000000..a2238ed29 --- /dev/null +++ b/utility/articleenhancer/escapistcomicenhancer.php @@ -0,0 +1,49 @@ +<?php + +/** + * ownCloud - News + * + * @author Alessandro Cosentino + * @author Bernhard Posselt + * @copyright 2012 Alessandro Cosentino cosenal@gmail.com + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Utility\ArticleEnhancer; + +use \OCA\News\Utility\SimplePieFileFactory; + + +class EscapistComicEnhancer extends ArticleEnhancer { + + + public function __construct(SimplePieFileFactory $fileFactory, $purifier, + $timeout) { + parent::__construct( + $purifier, + $fileFactory, + array( + '/escapistmagazine.com\/articles\/view\/comics\/critical-miss/' => '//*[@class=\'body\']/span/img', + '/escapistmagazine.com\/articles\/view\/comics\/namegame/' => '//*[@class=\'body\']/span/p/img[@height != "120"]', + '/escapistmagazine.com\/articles\/view\/comics\/(stolen-pixels|bumhugparade|escapistradiotheater)/' => '//*[@class=\'body\']/span/p[2]/img', + '/escapistmagazine.com\/articles\/view\/comics\/paused/' => '//*[@class=\'body\']/span/p[2]/img | //*[@class=\'body\']/span/div/img', + '/escapistmagazine.com\/articles\/view\/comics\/fraughtwithperil/' => '//*[@class=\'body\']', + ), + $timeout + ); + } +} diff --git a/utility/articleenhancer/leasticoulddoenhancer.php b/utility/articleenhancer/leasticoulddoenhancer.php new file mode 100644 index 000000000..4ba3f244c --- /dev/null +++ b/utility/articleenhancer/leasticoulddoenhancer.php @@ -0,0 +1,45 @@ +<?php + +/** + * ownCloud - News + * + * @author Alessandro Cosentino + * @author Bernhard Posselt + * @copyright 2012 Alessandro Cosentino cosenal@gmail.com + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Utility\ArticleEnhancer; + +use \OCA\News\Utility\SimplePieFileFactory; + + +class LeastICouldDoEnhancer extends ArticleEnhancer { + + + public function __construct(SimplePieFileFactory $fileFactory, $purifier, + $timeout) { + parent::__construct( + $purifier, + $fileFactory, + array( + '/feedproxy.google.com\/\~r\/LICD/' => '//*[@id=\'comic-img\']/a/img | //*[@id=\'comic-img\']/img' + ), + $timeout + ); + } +} diff --git a/utility/articleenhancer/pennyarcadeenhancer.php b/utility/articleenhancer/pennyarcadeenhancer.php new file mode 100644 index 000000000..3d2b1fd95 --- /dev/null +++ b/utility/articleenhancer/pennyarcadeenhancer.php @@ -0,0 +1,47 @@ +<?php + +/** + * ownCloud - News + * + * @author Alessandro Cosentino + * @author Bernhard Posselt + * @copyright 2012 Alessandro Cosentino cosenal@gmail.com + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Utility\ArticleEnhancer; + +use \OCA\News\Utility\SimplePieFileFactory; + + +class PennyArcadeEnhancer extends ArticleEnhancer { + + + public function __construct(SimplePieFileFactory $fileFactory, $purifier, + $timeout){ + parent::__construct( + $purifier, + $fileFactory, + array( + '/feeds.penny-arcade.com\/\~r\/pa-mainsite/' => '//*[starts-with(@class, "post")]' + ), + $timeout + ); + } + + +} diff --git a/utility/articleenhancer/twogagenhancer.php b/utility/articleenhancer/twogagenhancer.php new file mode 100644 index 000000000..7303e2b34 --- /dev/null +++ b/utility/articleenhancer/twogagenhancer.php @@ -0,0 +1,52 @@ +<?php + +/** + * ownCloud - News + * + * @author Alessandro Cosentino + * @author Bernhard Posselt + * @copyright 2012 Alessandro Cosentino cosenal@gmail.com + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Utility\ArticleEnhancer; + +use \OCA\News\Utility\SimplePieFileFactory; + + +class TwoGAGEnhancer extends ArticleEnhancer { + + + public function __construct(SimplePieFileFactory $fileFactory, $purifier, + $timeout) { + parent::__construct( + $purifier, + $fileFactory, + array(), + $timeout + ); + } + + public function enhance($item) { + if (preg_match('/www.twogag.com\/archives/', $item->getUrl()) || preg_match('/feedproxy.google.com\/\~r\/TwoGuysAndGuy/', $item->getUrl())) { + $body = $item->getBody(); + $body = preg_replace('/http\:\/\/www.twogag.com\/comics-rss\/([^.]+)\.jpg/', 'http://www.twogag.com/comics/$1.jpg', $body); + $item->setBody($body); + } + return $item; + } +} |