]> granicus.if.org Git - python/commitdiff
'mkpath()' now detects non-string 'name' arguments -- this is a fairly common
authorGreg Ward <gward@python.net>
Sat, 27 May 2000 01:35:27 +0000 (01:35 +0000)
committerGreg Ward <gward@python.net>
Sat, 27 May 2000 01:35:27 +0000 (01:35 +0000)
bug when adding new code, so I thought I'd make it blow up earlier
than deep in posix.py.

Lib/distutils/dir_util.py

index c049bbd217e9f2767fac3bf39d84254df774ed68..194183ae254254ebf002de453c103c9d0fb3e3c1 100644 (file)
@@ -7,7 +7,8 @@ Utility functions for manipulating directories and directory trees."""
 __revision__ = "$Id$"
 
 import os
-from distutils.errors import DistutilsFileError
+from types import *
+from distutils.errors import DistutilsFileError, DistutilsInternalError
 
 
 # cache for by mkpath() -- in addition to cheapening redundant calls,
@@ -29,6 +30,11 @@ def mkpath (name, mode=0777, verbose=0, dry_run=0):
 
     global PATH_CREATED
 
+    # Detect a common bug -- name is None
+    if type(name) is not StringType:
+        raise DistutilsInternalError, \
+              "mkpath: 'name' must be a string (got %s)" % `name`
+
     # XXX what's the better way to handle verbosity? print as we create
     # each directory in the path (the current behaviour), or only announce
     # the creation of the whole path? (quite easy to do the latter since