summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrfpquery.py34
1 files changed, 24 insertions, 10 deletions
diff --git a/rfpquery.py b/rfpquery.py
index 79ded94..82ff0b6 100755
--- a/rfpquery.py
+++ b/rfpquery.py
@@ -1,21 +1,35 @@
#!/usr/bin/python
+# This program is free software. It comes without any warranty, to
+# the extent permitted by applicable law. You can redistribute it
+# and/or modify it under the terms of the Do What The Fuck You Want
+# To Public License, Version 2, as published by Sam Hocevar. See
+# http://sam.zoy.org/wtfpl/COPYING for more details.
+
+# Author: Stefan Ritter <xeno@thehappy.de>
+# Description: Query Debian WNPP Page (RFP)
+
import urllib2, sys, re
+from optparse import OptionParser
-if len(sys.argv) < 2:
- print 'Syntax:', sys.argv[0], '[max_days_old]'
- sys.exit()
+# Parse commandline arguments
+parser = OptionParser()
+parser.add_option('--min', dest='min_days_old', type="int", help='Minimum age of reports (in days)')
+parser.add_option('--max', dest='max_days_old', type="int", help='Maximum age of reports (in days)')
+(options, args) = parser.parse_args()
-try:
- max_days_old = int(sys.argv[1])
-except:
- print 'Not an integer!'
- sys.exit()
+if not options.min_days_old and not options.max_days_old:
+ parser.error('You have to give at least one of --min or --max')
+ sys.exit
+if not options.min_days_old: options.min_days_old = 0
+if not options.max_days_old: options.max_days_old = 9999
+
+# Here we go...
+print 'Output reports that are older then', options.min_days_old, 'days and younger then', options.max_days_old, 'days:\n'
reports = []
item = []
-
rfpurl = urllib2.urlopen('http://www.debian.org/devel/wnpp/requested')
for line in rfpurl:
@@ -44,5 +58,5 @@ for line in rfpurl:
item = []
for entry in reports:
- if int(entry[2]) <= max_days_old:
+ if int(entry[2]) <= options.max_days_old and int(entry[2]) >= options.min_days_old:
print entry[1] + ': ' + entry[2] + ' days old (' + entry[0] + ')'