home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / python-support / private / pysupport.pyc (.txt) < prev   
Encoding:
Python Compiled Bytecode  |  2006-08-31  |  2.2 KB  |  74 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import os
  5. py_supported = os.popen('pyversions -s').readline().rstrip().split()
  6. py_installed = os.popen('pyversions -i').readline().rstrip().split()
  7. py_supported_short = [ a.replace('python', '') for a in py_supported ]
  8. py_oldversions = [
  9.     'python2.1',
  10.     'python2.2']
  11.  
  12. def version_cmp(ver1, ver2):
  13.     v1 = [ int(i) for i in ver1.split('.') ]
  14.     v2 = [ int(i) for i in ver2.split('.') ]
  15.     return cmp(v1, v2)
  16.  
  17.  
  18. class version_list:
  19.     
  20.     def __init__(self, version_info):
  21.         self.verlist = []
  22.         dummylist = []
  23.         for item in version_info.rstrip('\n').split(','):
  24.             v = item.split('-')
  25.             if len(v) > 1:
  26.                 if v[0]:
  27.                     dummylist.append(v[0])
  28.                 else:
  29.                     v[0] = py_supported_short[0]
  30.                     dummylist.append('0')
  31.                 if v[1]:
  32.                     dummylist.append(v[1])
  33.                 else:
  34.                     v[1] = py_supported_short[-1]
  35.                     dummylist.append('100')
  36.                 for ver in py_supported_short:
  37.                     
  38.                     try:
  39.                         if version_cmp(ver, v[0]) >= 0 and version_cmp(ver, v[1]) <= 0:
  40.                             self.verlist.append(ver)
  41.                     continue
  42.                     except ValueError:
  43.                         continue
  44.                     
  45.  
  46.                 
  47.             None<EXCEPTION MATCH>ValueError
  48.             dummylist.append(v[0])
  49.             if v[0] in py_supported_short:
  50.                 self.verlist.append(v[0])
  51.                 continue
  52.         
  53.         self.verlist.sort(version_cmp)
  54.         dummylist.sort(version_cmp)
  55.         self.min = dummylist[0]
  56.         if self.min == '0':
  57.             self.min = None
  58.         
  59.         self.max = dummylist[-1]
  60.         if self.max == '100':
  61.             self.max = None
  62.         
  63.         self.pylist = [ 'python' + i for i in self.verlist ]
  64.  
  65.     
  66.     def __iter__(self):
  67.         return iter(self.pylist)
  68.  
  69.     
  70.     def __contains__(self, item):
  71.         return item in self.pylist
  72.  
  73.  
  74.