summaryrefslogtreecommitdiffstats
path: root/cnucnu.py
diff options
context:
space:
mode:
authorTill Maas <opensource@till.name>2009-07-17 23:34:13 +0200
committerTill Maas <opensource@till.name>2009-07-17 23:34:13 +0200
commitf429527b923e46e63945ab9976106f2b324c46c5 (patch)
treece497df0db2e8ef600a1c5370bb4595530eeefd7 /cnucnu.py
parentabca571c2e4506c4827525bacf8a1e2ae4523188 (diff)
downloadcnucnu-f429527b923e46e63945ab9976106f2b324c46c5.tar.gz
cnucnu-f429527b923e46e63945ab9976106f2b324c46c5.tar.xz
cnucnu-f429527b923e46e63945ab9976106f2b324c46c5.zip
cnucnu option to check everything agains freshmeat
Diffstat (limited to 'cnucnu.py')
-rwxr-xr-xcnucnu.py90
1 files changed, 52 insertions, 38 deletions
diff --git a/cnucnu.py b/cnucnu.py
index caf480f..ffc43ca 100755
--- a/cnucnu.py
+++ b/cnucnu.py
@@ -21,12 +21,52 @@ import sys
sys.path.insert(0, './lib')
from cnucnu import config
-from cnucnu.package_list import Repository, PackageList
+from cnucnu.package_list import Repository, PackageList, Package
from cnucnu.checkshell import CheckShell
from cnucnu.bugzilla_reporter import BugzillaReporter
import pickle
+def analyse_packages(packages):
+ package_nr = 0
+
+ if package_nr == 0:
+ mode = "w"
+ else:
+ mode = "a"
+
+
+ outdated_f = open("cnucnu-outdated.log", mode)
+ too_new_f = open("cnucnu-too_new.log", mode)
+ error_f = open("cnucnu-error.log", mode)
+
+ for package in packages[package_nr:]:
+ sys.stderr.write("Testing: %i - %s\n" % (package_nr, package.name))
+
+ try:
+ if package.upstream_newer:
+ print "Outdated package %(name)s: Rawhide version: %(repo_version)s, Upstream latest: %(latest_upstream)s" % package
+ outdated_f.write("%(name)s %(repo_version)s %(latest_upstream)s\n" % package)
+ elif package.repo_newer:
+ print "Rawhide newer %(name)s: Rawhide version: %(repo_version)s, Upstream latest: %(latest_upstream)s" % package
+ too_new_f.write("%(name)s %(repo_version)s %(latest_upstream)s\n" % package)
+
+ except cc_errors.UpstreamVersionRetrievalError, e:
+ sys.stderr.write("%s\n" % str(e))
+ sys.stderr.write("Rawhide Version: %s\n" % package.repo_version)
+ error_f.write("%s: %s - Rawhide Version: %s\n" % (package.name, str(e), package.repo_version))
+ except KeyError, ke:
+ sys.stderr.write("Package not found in Rawhide: %s\n" % str(ke))
+
+ package_nr = package_nr + 1
+
+ outdated_f.close()
+ too_new_f.close()
+ error_f.close()
+ pickle_file = open("data.pickle", "wb")
+ pickle.dump(packages, pickle_file)
+ pickle_file.close()
+
if __name__ == '__main__':
import re
import cnucnu.errors as cc_errors
@@ -37,6 +77,7 @@ if __name__ == '__main__':
parser.add_option("", "--check", dest="action", help="check URL and regex interactively", action="store_const", const="check")
parser.add_option("", "--config", dest="config_filename", help="config_filename, e.g. for bugzilla credentials", default="./cnucnu.ini")
parser.add_option("", "--create-bugs", dest="action", help="file bugs for outdated packages", action="store_const", const="create-bugs")
+ parser.add_option("", "--fm-outdated-all", dest="action", help="compare all packages in rawhide with freshmeat", action="store_const", const="fm-outdated-all")
(options, args) = parser.parse_args()
@@ -65,49 +106,22 @@ if __name__ == '__main__':
br.report_outdated(p)
except Exception, e:
pprint(e)
+ elif options.action == "fm-outdated-all":
+ print "checking all against FM"
+ repo = Repository(repoid="rawhide-source")
+ package_names = [name for name in repo.repoquery()]
+ pl=[Package(name, "FM-DEFAULT", "FM-DEFAULT", repo) for name in package_names]
+ packages = PackageList(packages=pl)
+ repo.package_list = packages
+ analyse_packages(packages)
else:
+ print "default..."
repo = Repository(repoid="rawhide-source")
plist = PackageList(repo=repo)
packages = plist.packages
+ analyse_packages(packages)
- package_nr = 0
-
- if package_nr == 0:
- mode = "w"
- else:
- mode = "a"
- outdated_f = open("cnucnu-outdated.log", mode)
- too_new_f = open("cnucnu-too_new.log", mode)
- error_f = open("cnucnu-error.log", mode)
-
- for package in packages[package_nr:]:
- sys.stderr.write("Testing: %i - %s\n" % (package_nr, package.name))
-
- try:
- if package.upstream_newer:
- print "Outdated package %(name)s: Rawhide version: %(repo_version)s, Upstream latest: %(latest_upstream)s" % package
- outdated_f.write("%(name)s %(repo_version)s %(latest_upstream)s\n" % package)
- elif package.repo_newer:
- print "Rawhide newer %(name)s: Rawhide version: %(repo_version)s, Upstream latest: %(latest_upstream)s" % package
- too_new_f.write("%(name)s %(repo_version)s %(latest_upstream)s\n" % package)
-
- except cc_errors.UpstreamVersionRetrievalError, e:
- sys.stderr.write("%s\n" % str(e))
- sys.stderr.write("Rawhide Version: %s\n" % package.repo_version)
- error_f.write("%s: %s - Rawhide Version: %s\n" % (package.name, str(e), package.repo_version))
- except KeyError, ke:
- sys.stderr.write("Package not found in Rawhide: %s\n" % str(ke))
-
- package_nr = package_nr + 1
-
- outdated_f.close()
- too_new_f.close()
- error_f.close()
- pickle_file = open("data.pickle", "wb")
- pickle.dump(packages, pickle_file)
- pickle_file.close()
-