[Python-checkins] python/dist/src/Lib/plat-mac pimp.py,1.21,1.22

jackjansen@users.sourceforge.net jackjansen@users.sourceforge.net
2003年5月28日 11:56:33 -0700


Update of /cvsroot/python/python/dist/src/Lib/plat-mac
In directory sc8-pr-cvs1:/tmp/cvs-serv24804
Modified Files:
	pimp.py 
Log Message:
- Added a scheme whereby pimp can update itself, by importing a module
 pimp_update if it exists. Upped the version number to indicate this.
 Fixes #731626.
- Added -V (print version) and -u (specify database URL) options when run
 as a command line tool.
Index: pimp.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/plat-mac/pimp.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** pimp.py	6 May 2003 13:07:32 -0000	1.21
--- pimp.py	28 May 2003 18:56:30 -0000	1.22
***************
*** 27,31 ****
 import shutil
 
! __all__ = ["PimpPreferences", "PimpDatabase", "PimpPackage", "main"]
 
 _scriptExc_NotInstalled = "pimp._scriptExc_NotInstalled"
--- 27,32 ----
 import shutil
 
! __all__ = ["PimpPreferences", "PimpDatabase", "PimpPackage", "main", 
! "PIMP_VERSION", "main"]
 
 _scriptExc_NotInstalled = "pimp._scriptExc_NotInstalled"
***************
*** 35,39 ****
 NO_EXECUTE=0
 
! PIMP_VERSION="0.1"
 
 # Flavors:
--- 36,40 ----
 NO_EXECUTE=0
 
! PIMP_VERSION="0.2"
 
 # Flavors:
***************
*** 253,260 ****
 dict = plistlib.Plist.fromFile(fp)
 # Test here for Pimp version, etc
! if not included:
! self._version = dict.get('Version', '0.1')
! if self._version != PIMP_VERSION:
! sys.stderr.write("Warning: database version %s does not match %s\n" 
 % (self._version, PIMP_VERSION))
 self._maintainer = dict.get('Maintainer', '')
--- 254,268 ----
 dict = plistlib.Plist.fromFile(fp)
 # Test here for Pimp version, etc
! if included:
! version = dict.get('Version')
! if version and version > self._version:
! sys.stderr.write("Warning: included database %s is for pimp version %s\n" %
! (url, version))
! else:
! self._version = dict.get('Version')
! if not self._version:
! sys.stderr.write("Warning: database has no Version information\n")
! elif self._version > PIMP_VERSION:
! sys.stderr.write("Warning: database version %s newer than pimp version %s\n" 
 % (self._version, PIMP_VERSION))
 self._maintainer = dict.get('Maintainer', '')
***************
*** 886,898 ****
 print " pimp [options] -i package ... Install packages"
 print " pimp -d Dump database to stdout"
 print "Options:"
 print " -v Verbose"
 print " -f Force installation"
! print " -D dir Set destination directory (default: site-packages)"
 sys.exit(1)
 
 try:
! opts, args = getopt.getopt(sys.argv[1:], "slifvdD:")
! except getopt.Error:
 _help()
 if not opts and not args:
--- 894,910 ----
 print " pimp [options] -i package ... Install packages"
 print " pimp -d Dump database to stdout"
+ print " pimp -V Print version number"
 print "Options:"
 print " -v Verbose"
 print " -f Force installation"
! print " -D dir Set destination directory"
! print " (default: %s)" % DEFAULT_INSTALLDIR
! print " -u url URL for database"
! print " (default: %s)" % DEFAULT_PIMPDATABASE
 sys.exit(1)
 
 try:
! opts, args = getopt.getopt(sys.argv[1:], "slifvdD:Vu:")
! except getopt.GetoptError:
 _help()
 if not opts and not args:
***************
*** 915,918 ****
--- 927,934 ----
 _help()
 mode = 'dump'
+ if o == '-V':
+ if mode:
+ _help()
+ mode = 'version'
 if o == '-i':
 mode = 'install'
***************
*** 923,930 ****
 if o == '-D':
 prefargs['installDir'] = a
 if not mode:
 _help()
! _run(mode, verbose, force, args, prefargs)
! 
 if __name__ == '__main__':
 main()
--- 939,968 ----
 if o == '-D':
 prefargs['installDir'] = a
+ if o == '-u':
+ prefargs['pimpDatabase'] = a
 if not mode:
 _help()
! if mode == 'version':
! print 'Pimp version %s; module name is %s' % (PIMP_VERSION, __name__)
! else:
! _run(mode, verbose, force, args, prefargs)
! 
! # Finally, try to update ourselves to a newer version.
! # If the end-user updates pimp through pimp the new version
! # will be called pimp_update and live in site-packages
! # or somewhere similar
! if __name__ != 'pimp_update':
! try:
! import pimp_update
! except ImportError:
! pass
! else:
! if pimp_update.PIMP_VERSION <= PIMP_VERSION:
! import warnings
! warnings.warn("pimp_update is version %s, not newer than pimp version %s" %
! (pimp_update.PIMP_VERSION, PIMP_VERSION))
! else:
! from pimp_update import *
! 
 if __name__ == '__main__':
 main()

AltStyle によって変換されたページ (->オリジナル) /