diff options
author | Till Maas <opensource@till.name> | 2009-07-17 23:34:13 +0200 |
---|---|---|
committer | Till Maas <opensource@till.name> | 2009-07-17 23:34:13 +0200 |
commit | f429527b923e46e63945ab9976106f2b324c46c5 (patch) | |
tree | ce497df0db2e8ef600a1c5370bb4595530eeefd7 /cnucnu.py | |
parent | abca571c2e4506c4827525bacf8a1e2ae4523188 (diff) | |
download | cnucnu-f429527b923e46e63945ab9976106f2b324c46c5.tar.gz cnucnu-f429527b923e46e63945ab9976106f2b324c46c5.tar.xz cnucnu-f429527b923e46e63945ab9976106f2b324c46c5.zip |
cnucnu option to check everything agains freshmeat
Diffstat (limited to 'cnucnu.py')
-rwxr-xr-x | cnucnu.py | 90 |
1 files changed, 52 insertions, 38 deletions
@@ -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() - |