]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Add default values for options in the class init routine, not in the convenience...
authorJack Jansen <jack.jansen@cwi.nl>
Fri, 14 Dec 2001 14:31:15 +0000 (14:31 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Fri, 14 Dec 2001 14:31:15 +0000 (14:31 +0000)
Mac/Lib/mkcwproject/__init__.py
Mac/Lib/mkcwproject/cwxmlgen.py

index 9c5e21c461de95314205223aeaa0aa3beda6b420..69a1f32c9f15d76c7fb85f2342897043d4ebb766 100644 (file)
@@ -12,27 +12,15 @@ def mkproject(outputfile, modulename, settings, force=0, templatename=None):
        for k, v in settings.items():
                dictcopy[k] = v
        #
-       # Fill in mac-specific values
+       # Generate the XML for the project
        #
        dictcopy['mac_projectxmlname'] = outputfile + '.xml'
        dictcopy['mac_exportname'] = os.path.split(outputfile)[1] + '.exp'
-       if not dictcopy.has_key('mac_outputdir'):
-               dictcopy['mac_outputdir'] = ':lib:'
-       if not dictcopy.has_key('stdlibraryflags'):
-               dictcopy['stdlibraryflags'] = 'Debug'
-       if not dictcopy.has_key('libraryflags'):
-               dictcopy['libraryflags'] = 'Debug'
        if not dictcopy.has_key('mac_dllname'):
                dictcopy['mac_dllname'] = modulename + '.ppc.slb'
        if not dictcopy.has_key('mac_targetname'):
                dictcopy['mac_targetname'] = modulename + '.ppc'
-       if os.path.isabs(dictcopy['sysprefix']):
-               dictcopy['mac_sysprefixtype'] = 'Absolute'
-       else:
-               dictcopy['mac_sysprefixtype'] = 'Project' # XXX not sure this is right...
-       #
-       # Generate the XML for the project
-       #
+       
        xmlbuilder = cwxmlgen.ProjectBuilder(dictcopy, templatename=templatename)
        xmlbuilder.generate()
        if not force:
index f2e3eb2bb981ef796278e22b102b1a56b0c74626..e80cfa7a8b917b1cfe5fec0894ad571749ab2e21 100644 (file)
@@ -20,6 +20,7 @@ TEMPLATELIST= [
 
 class ProjectBuilder:
        def __init__(self, dict, templatelist=TEMPLATELIST, templatename=None):
+               self._adddefaults(dict)
                if templatename == None:
                        if hasattr(MacOS, 'runtimemodel'):
                                templatename = 'template-%s'%MacOS.runtimemodel
@@ -43,6 +44,20 @@ class ProjectBuilder:
                                dict['prefixname'] = 'mwerks_plugin_config.h'
                self.templatelist = templatelist
                self.templatedir = templatedir
+       
+       def _adddefaults(self, dict):
+               # Set all suitable defaults set for values which were omitted.
+               if not dict.has_key('mac_outputdir'):
+                       dict['mac_outputdir'] = ':lib:'
+               if not dict.has_key('stdlibraryflags'):
+                       dict['stdlibraryflags'] = 'Debug'
+               if not dict.has_key('libraryflags'):
+                       dict['libraryflags'] = 'Debug'
+               if not dict.has_key('mac_sysprefixtype'):
+                       if os.path.isabs(dict['sysprefix']):
+                               dict['mac_sysprefixtype'] = 'Absolute'
+                       else:
+                               dict['mac_sysprefixtype'] = 'Project' # XXX not sure this is right...
                
        def generate(self):
                for tmpl in self.templatelist: