summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-misc')
-rw-r--r--www-misc/urlwatch/ChangeLog10
-rw-r--r--www-misc/urlwatch/Manifest19
-rw-r--r--www-misc/urlwatch/files/urlwatch-xmpp.patch138
-rw-r--r--www-misc/urlwatch/metadata.xml8
-rw-r--r--www-misc/urlwatch/urlwatch-1.14.ebuild37
5 files changed, 212 insertions, 0 deletions
diff --git a/www-misc/urlwatch/ChangeLog b/www-misc/urlwatch/ChangeLog
new file mode 100644
index 000000000000..839ff19c4b20
--- /dev/null
+++ b/www-misc/urlwatch/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for www-misc/urlwatch
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/www-misc/urlwatch/ChangeLog,v 1.1 2012/03/22 19:02:31 radhermit Exp $
+
+*urlwatch-1.14 (22 Mar 2012)
+
+ 22 Mar 2012; Tim Harder <radhermit@gentoo.org> +urlwatch-1.14.ebuild,
+ +files/urlwatch-xmpp.patch, +metadata.xml:
+ Initial import. Ebuild by me.
+
diff --git a/www-misc/urlwatch/Manifest b/www-misc/urlwatch/Manifest
new file mode 100644
index 000000000000..0303dc92bd30
--- /dev/null
+++ b/www-misc/urlwatch/Manifest
@@ -0,0 +1,19 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA512
+
+AUX urlwatch-xmpp.patch 5701 RMD160 ecbb72ec1fa8007e1c0bb559d932f37884eeb55c SHA1 0927638a0e6cc4bd4c03f26f1a4f48016289caed SHA256 bbafcdd10005b1611074c839ce3cc206d3fe8ab0f790e50e063f327d6acf2013
+DIST urlwatch-1.14.tar.gz 12969 RMD160 3e16c94007873d9872853ca17ba9c2c21d9ed88f SHA1 22899950f211b414f2153ebfb320c545986b6198 SHA256 00095dd0e2b09ab8b5ed4b5ae615c8e80484075219f8c81e05afd5777bb1a7ab
+EBUILD urlwatch-1.14.ebuild 1086 RMD160 4bfa9328b4ce7d100aa5fabe7a54d1e93bf196b4 SHA1 20e9ba5f1ba5eada6c47f30eafcace3471f23884 SHA256 b28f42d06771432cb7cdeda62940974b5a068d6b5480b3b9f85af740fb29f6bd
+MISC ChangeLog 390 RMD160 56aaaa69f251c30bb9f8f9d27c405a06dd6d6421 SHA1 6529725d6468a2c3eece482a26a7533f684e799f SHA256 a9dbf92d7328b7d39a5b08793e6ce25758157db690f324e7e5cc2cf66b251c9c
+MISC metadata.xml 232 RMD160 9725fc18735b1d8d4079f25759ee0823a0c6795d SHA1 ec75efe30e67f74a4f315324afc75ed2a8d30bb4 SHA256 a778e40f66cb2fa35529e4f45cb8356c8b1b109163cd939396f02e8ea6aa5f1a
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.18 (GNU/Linux)
+
+iQEcBAEBCgAGBQJPa3dQAAoJEEqz6FtPBkyjgRUIAIKU9a/vWxLeb6klxbmwgje1
+EgxO7l9GhI7gX9XU6KBDh30gDbf/lgc6K37V1pJmr0qt5TOulHo6gg6gntMr2hNK
+ksMVVb3/YEhzlF2qazmYyLcb0MUNW0Qxz+0dvac9sVJrnFO0QKiFAYg7iiiD1P1y
+udvs8ihQXiL8vbsyO90ukawegi3ZUXxc5fyeTQU9bDCuhKBg7hwqP0Yxvf2J0PP+
+98NV3thMruJKOfkIHNm9JRvT9TXg6kviY5yfdlmnfzaqglDrKC7fjrXaOd8yK4Qj
+oDDF93rp4Oh4nZsvWjr2zGnwQ/QWyh5m3oJE9vnWUY2M3neSNu+R5X0c5i84STs=
+=/uZN
+-----END PGP SIGNATURE-----
diff --git a/www-misc/urlwatch/files/urlwatch-xmpp.patch b/www-misc/urlwatch/files/urlwatch-xmpp.patch
new file mode 100644
index 000000000000..6de100c06893
--- /dev/null
+++ b/www-misc/urlwatch/files/urlwatch-xmpp.patch
@@ -0,0 +1,138 @@
+From 96024c866daeeb9e6bdbde27cbed7f9f65f1bf24 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20D=C3=BCll=20(akurei)?= <akurei@furdev.org>
+Date: Sat, 20 Feb 2010 00:15:58 +0100
+Subject: [PATCH] Added xmpp functionality to v1.9
+
+---
+ urlwatch | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 files changed, 73 insertions(+), 3 deletions(-)
+
+diff --git a/urlwatch b/urlwatch
+index a59aeea..cffc5a7 100755
+--- a/urlwatch
++++ b/urlwatch
+@@ -55,6 +55,7 @@ urls_txt = os.path.join(urlwatch_dir, 'urls.txt')
+ cache_dir = os.path.join(urlwatch_dir, 'cache')
+ scripts_dir = os.path.join(urlwatch_dir, 'lib')
+ hooks_py = os.path.join(scripts_dir, 'hooks.py')
++xmpp_txt = os.path.join(urlwatch_dir, 'xmpp.txt')
+
+ # Check if we are installed in the system already
+ (prefix, bindir) = os.path.split(os.path.dirname(os.path.abspath(sys.argv[0])))
+@@ -136,8 +137,10 @@ if __name__ == '__main__':
+ parser.add_option('', '--urls', dest='urls', metavar='FILE', help='Read URLs from the specified file')
+ parser.add_option('', '--hooks', dest='hooks', metavar='FILE', help='Use specified file as hooks.py module')
+ parser.add_option('-e', '--display-errors', action='store_true', dest='display_errors', help='Include HTTP errors (404, etc..) in the output')
++ parser.add_option('-x', '--xmpp', action='store_true', dest='xmpp', help='Send a message to XMPP clients')
++ parser.add_option('', '--xmpp-file', dest='xmpp_file', metavar='FILE', help='Read XMPP login data and recipients from [FILE] instead')
+
+- parser.set_defaults(verbose=False, display_errors=False)
++ parser.set_defaults(verbose=False, display_errors=False, xmpp=False)
+
+ (options, args) = parser.parse_args(sys.argv)
+
+@@ -171,6 +174,9 @@ if __name__ == '__main__':
+ log.error('%s is not a file' % options.hooks)
+ print 'Error: %s is not a file' % options.hooks
+ sys.exit(1)
++
++ if options.xmpp_file:
++ options.xmpp = True
+
+ # Created all needed folders
+ for needed_dir in (urlwatch_dir, cache_dir, scripts_dir):
+@@ -196,6 +202,52 @@ if __name__ == '__main__':
+ if not options.hooks and os.path.exists(hooks_py_example) and not os.path.exists(hooks_py_fn):
+ shutil.copy(hooks_py_example, hooks_py_fn)
+ sys.exit(1)
++
++ if options.xmpp:
++ try:
++ import xmpp
++ except ImportError:
++ log.error('python-xmpp not installed')
++ print 'Error: You need python-xmpp installed to use the -x switch'
++ sys.exit(1)
++
++ if options.xmpp_file:
++ if os.path.isfile(options.xmpp_file):
++ xmpp_txt = options.xmpp_file
++ log.info('using %s as xmpp.txt' % xmpp_txt)
++ else:
++ log.error('no such file: %s' % options.xmpp_file)
++ print 'Error: There is no such file: %s' % options.xmpp_file
++ sys.exit(1)
++
++ try:
++ xmpp_filehandle = open(xmpp_txt, 'r')
++ except IOError:
++ log.error('No xmpp.txt file')
++ print 'Error: You need to create a xmpp.txt file first.'
++ print ''
++ print 'Place it in %s' % os.path.dirname(xmpp_txt)
++ print ''
++ print ''
++ print 'Syntax is:'
++ print ''
++ print '\tsender-username@server.tld senderpassword'
++ print '\tfirst-recipient@jabberserver1.tld'
++ print '\tsecond-recipient@jabberserver2.tld'
++ print '\tthird-recipient@foobarserver.tld'
++ print '\t...'
++ print ''
++ sys.exit(1)
++
++ xmpp_lines = xmpp_filehandle.readlines()
++ xmpp_filehandle.close()
++ for i in xrange(len(xmpp_lines)):
++ xmpp_lines[i] = xmpp_lines[i].strip("\n")
++ (xmpp_from, xmpp_pass) = xmpp_lines[0].split(' ')
++ xmpp_to = []
++ for i in xrange(1, len(xmpp_lines)):
++ xmpp_to.append(xmpp_lines[i])
++ log.info('using %s to send status messages to %s' % (xmpp_from, xmpp_to))
+
+ headers = {
+ 'User-agent': user_agent,
+@@ -285,18 +337,36 @@ if __name__ == '__main__':
+ end = datetime.datetime.now()
+
+ # Output everything
+- if len(summary) > 1:
++ if len(summary) > 0:
+ log.info('printing summary with %d items' % len(summary))
+ print '-'*line_length
+ print 'summary: %d changes' % (len(summary),)
+ print ''
++ msg = ''
+ for id, line in enumerate(summary):
+ print '%02d. %s' % (id+1, line)
++ msg += "\n" + '%02d. %s' % (id+1, line)
+ print '-'*line_length
+ print '\n\n\n'
++
++ if (options.xmpp):
++ try:
++ (xmpp_user, xmpp_server) = xmpp_from.split('@')
++ client = xmpp.Client(xmpp_server)
++ client.connect(server=(xmpp_server,5223))
++ client.auth(xmpp_user, xmpp_pass, 'urlwatch')
++ client.sendInitPresence()
++ for to in xmpp_to:
++ message = xmpp.Message(to, msg)
++ message.setAttr('type', 'chat')
++ client.send(message)
++ except:
++ log.error('Could not send message to %s' % xmpp_to)
++ print 'Error: Could not send message to %s' % xmpp_to
++
+ else:
+ log.info('summary is too short - not printing')
+- if len(details) > 1:
++ if len(details) > 1 and not options.xmpp:
+ log.info('printing details with %d items' % len(details))
+ print '\n'.join(details)
+ print '-- '
+--
+1.7.0
+
diff --git a/www-misc/urlwatch/metadata.xml b/www-misc/urlwatch/metadata.xml
new file mode 100644
index 000000000000..157326a7e891
--- /dev/null
+++ b/www-misc/urlwatch/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/www-misc/urlwatch/urlwatch-1.14.ebuild b/www-misc/urlwatch/urlwatch-1.14.ebuild
new file mode 100644
index 000000000000..1d2d1a257d12
--- /dev/null
+++ b/www-misc/urlwatch/urlwatch-1.14.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-misc/urlwatch/urlwatch-1.14.ebuild,v 1.1 2012/03/22 19:02:31 radhermit Exp $
+
+EAPI="4"
+PYTHON_DEPEND="2:2.5 3:3.2"
+SUPPORT_PYTHON_ABIS="1"
+DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="1"
+
+inherit distutils eutils
+
+DESCRIPTION="A tool for monitoring webpages for updates"
+HOMEPAGE="http://thp.io/2008/urlwatch/ http://pypi.python.org/pypi/urlwatch"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="xmpp"
+
+RDEPEND="xmpp? ( dev-python/xmpppy )
+ || ( >=dev-lang/python-3.2 dev-python/futures )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ use xmpp && epatch "${FILESDIR}"/${PN}-xmpp.patch
+ sed -i -e "s/^os.unlink/#\0/" setup.py || die
+
+ distutils_src_prepare
+
+ 2to3_conversion() {
+ [[ "${PYTHON_ABI}" == 2.* ]] && return
+ 2to3-${PYTHON_ABI} -nw --no-diffs urlwatch lib/urlwatch/*.py \
+ examples/hooks.py.example setup.py || die "2to3 failed"
+ }
+ python_execute_function -s 2to3_conversion
+}