]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
getDefaultDatabase() should be a toplevel function, not a method of the
authorJack Jansen <jack.jansen@cwi.nl>
Sat, 28 Feb 2004 23:18:43 +0000 (23:18 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Sat, 28 Feb 2004 23:18:43 +0000 (23:18 +0000)
preferences object.

Lib/plat-mac/pimp.py

index fc97ea38c0408a103f063615bcf050caa7c5d749..131d5b0dca3013bfb7f0f9cf035b380457eb22e6 100644 (file)
@@ -46,6 +46,51 @@ DEFAULT_BUILDDIR='/tmp'
 DEFAULT_INSTALLDIR=distutils.sysconfig.get_python_lib()
 DEFAULT_PIMPDATABASE_FMT="http://www.python.org/packman/version-%s/%s-%s-%s-%s-%s.plist"
 
+def getDefaultDatabase(experimental=False):
+       if experimental:
+               status = "exp"
+       else:
+               status = "prod"
+               
+       major, minor, micro, state, extra = sys.version_info
+       pyvers = '%d.%d' % (major, minor)
+       if state != 'final':
+               pyvers = pyvers + '%s%d' % (state, extra)
+               
+       longplatform = distutils.util.get_platform()
+       osname, release, machine = longplatform.split('-')
+       # For some platforms we may want to differentiate between
+       # installation types
+       if osname == 'darwin':
+               if sys.prefix.startswith('/System/Library/Frameworks/Python.framework'):
+                       osname = 'darwin_apple'
+               elif sys.prefix.startswith('/Library/Frameworks/Python.framework'):
+                       osname = 'darwin_macpython'
+               # Otherwise we don't know...
+       # Now we try various URLs by playing with the release string.
+       # We remove numbers off the end until we find a match.
+       rel = release
+       while True:
+               url = DEFAULT_PIMPDATABASE_FMT % (PIMP_VERSION, status, pyvers, osname, rel, machine)
+               try:
+                       urllib2.urlopen(url)
+               except urllib2.HTTPError, arg:
+                       pass
+               else:
+                       break
+               if not rel:
+                       # We're out of version numbers to try. Use the
+                       # full release number, this will give a reasonable
+                       # error message later
+                       url = DEFAULT_PIMPDATABASE_FMT % (PIMP_VERSION, status, pyvers, osname, release, machine)
+                       break
+               idx = rel.rfind('.')
+               if idx < 0:
+                       rel = ''
+               else:
+                       rel = rel[:idx]
+       return url
+
 def _cmd(output, dir, *cmditems):
     """Internal routine to run a shell command in a given directory."""
     
@@ -163,7 +208,7 @@ class PimpPreferences:
         if not buildDir:
             buildDir = DEFAULT_BUILDDIR
         if not pimpDatabase:
-            pimpDatabase = self.getDefaultDatabase()
+            pimpDatabase = getDefaultDatabase()
         self.setInstallDir(installDir)
         self.flavorOrder = flavorOrder
         self.downloadDir = downloadDir
@@ -185,53 +230,6 @@ class PimpPreferences:
         
     def isUserInstall(self):
         return self.installDir != DEFAULT_INSTALLDIR
-        
-    def getDefaultDatabase(self, experimental=False):
-        if experimental:
-            status = "exp"
-        else:
-            status = "prod"
-            
-        major, minor, micro, state, extra = sys.version_info
-        pyvers = '%d.%d' % (major, minor)
-        if state != 'final':
-            pyvers = pyvers + '%s%d' % (state, extra)
-            
-        longplatform = distutils.util.get_platform()
-        osname, release, machine = longplatform.split('-')
-        # For some platforms we may want to differentiate between
-        # installation types
-        if osname == 'darwin':
-            if sys.prefix.startswith('/System/Library/Frameworks/Python.framework'):
-                osname = 'darwin_apple'
-            elif sys.prefix.startswith('/Library/Frameworks/Python.framework'):
-                osname = 'darwin_macpython'
-            # Otherwise we don't know...
-        # Now we try various URLs by playing with the release string.
-        # We remove numbers off the end until we find a match.
-        rel = release
-        while True:
-            url = DEFAULT_PIMPDATABASE_FMT % (PIMP_VERSION, status, pyvers, osname, rel, machine)
-            try:
-                urllib2.urlopen(url)
-            except urllib2.HTTPError, arg:
-               print 'getDefaultDatabase: cannot open', url
-               print 'error', arg
-                pass
-            else:
-                break
-            if not rel:
-                # We're out of version numbers to try. Use the
-                # full release number, this will give a reasonable
-                # error message later
-                url = DEFAULT_PIMPDATABASE_FMT % (PIMP_VERSION, status, pyvers, osname, release, machine)
-                break
-            idx = rel.rfind('.')
-            if idx < 0:
-                rel = ''
-            else:
-                rel = rel[:idx]
-        return url
 
     def check(self):
         """Check that the preferences make sense: directories exist and are