home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / pythonwin / python.exe / CHECKVERSIONS.PY < prev    next >
Encoding:
Python Source  |  2002-09-11  |  1.3 KB  |  55 lines

  1. """Checkversions - recursively search a directory (default: sys.prefix) 
  2. for _checkversion.py files, and run each of them. This will tell you of
  3. new versions available for any packages you have installed."""
  4.  
  5. import os
  6. import getopt
  7. import sys
  8. import pyversioncheck
  9.  
  10. CHECKNAME="_checkversion.py"
  11.  
  12. VERBOSE=1
  13.  
  14. USAGE="""Usage: checkversions [-v verboselevel] [dir ...]
  15. Recursively examine a tree (default: sys.prefix) and for each package
  16. with a _checkversion.py file compare the installed version against the current
  17. version.
  18.  
  19. Values for verboselevel:
  20. 0 - Minimal output, one line per package
  21. 1 - Also print descriptions for outdated packages (default)
  22. 2 - Print information on each URL checked
  23. 3 - Check every URL for packages with multiple locations"""
  24.  
  25. def check1dir(dummy, dir, files):
  26.     if CHECKNAME in files:
  27.         fullname = os.path.join(dir, CHECKNAME)
  28.         try:
  29.             execfile(fullname)
  30.         except:
  31.             print '** Exception in', fullname
  32.             
  33. def walk1tree(tree):
  34.     os.path.walk(tree, check1dir, None)
  35.     
  36. def main():
  37.     global VERBOSE
  38.     try:
  39.         options, arguments = getopt.getopt(sys.argv[1:], 'v:')
  40.     except getopt.error:
  41.         print USAGE
  42.         sys.exit(1)
  43.     for o, a in options:
  44.         if o == '-v':
  45.             VERBOSE = int(a)
  46.     if not arguments:
  47.         arguments = [sys.prefix]
  48.     for dir in arguments:
  49.         walk1tree(dir)
  50.         
  51. if __name__ == '__main__':
  52.     main()
  53.         
  54.     
  55.