From: Greg Ward Date: Sat, 27 May 2000 01:35:27 +0000 (+0000) Subject: 'mkpath()' now detects non-string 'name' arguments -- this is a fairly common X-Git-Tag: v2.0b1~1652 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d238c56a6d28002aa5c24c732068cbe598fc5be;p=python 'mkpath()' now detects non-string 'name' arguments -- this is a fairly common bug when adding new code, so I thought I'd make it blow up earlier than deep in posix.py. --- diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py index c049bbd217..194183ae25 100644 --- a/Lib/distutils/dir_util.py +++ b/Lib/distutils/dir_util.py @@ -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