52 lines · 1.4 KB · Python
RawDownload
"""Checkversions - recursively search a directory (default: sys.prefix)for _checkversion.py files, and run each of them. This will tell you ofnew versions available for any packages you have installed.""" import osimport getoptimport sysimport pyversioncheck CHECKNAME="_checkversion.py" VERBOSE=1 USAGE="""Usage: checkversions [-v verboselevel] [dir ...]Recursively examine a tree (default: sys.prefix) and for each packagewith a _checkversion.py file compare the installed version against the currentversion. Values for verboselevel:0 - Minimal output, one line per package1 - Also print descriptions for outdated packages (default)2 - Print information on each URL checked3 - Check every URL for packages with multiple locations""" def check1dir(dummy, dir, files):    if CHECKNAME in files:        fullname = os.path.join(dir, CHECKNAME)        try:            execfile(fullname)        except:            print '** Exception in', fullname def walk1tree(tree):    os.path.walk(tree, check1dir, None) def main():    global VERBOSE    try:        options, arguments = getopt.getopt(sys.argv[1:], 'v:')    except getopt.error:        print USAGE        sys.exit(1)    for o, a in options:        if o == '-v':            VERBOSE = int(a)    if not arguments:        arguments = [sys.prefix]    for dir in arguments:        walk1tree(dir) if __name__ == '__main__':    main()