diff options
author | Greg Ward <gward@python.net> | 1999-12-03 16:18:56 (GMT) |
---|---|---|
committer | Greg Ward <gward@python.net> | 1999-12-03 16:18:56 (GMT) |
commit | 631e6a0c070810b064c48ff6cf777ebb0276f038 (patch) | |
tree | adeb306f6305cf783171029d3a85137512f6073c /Lib | |
parent | 0c3e4b6ca11cd89825a547fadcb20eb8a8e342e5 (diff) | |
download | cpython-631e6a0c070810b064c48ff6cf777ebb0276f038.zip cpython-631e6a0c070810b064c48ff6cf777ebb0276f038.tar.gz cpython-631e6a0c070810b064c48ff6cf777ebb0276f038.tar.bz2 |
[from 1999-11-04]
Bunch of little bug fixes that appeared in building non-packagized
distributions. Mainly:
- brain-slip typo in 'get_package_dir()'
- don't try to os.path.join() an empty path tuple -- it doesn't like it
- more type-safety in 'build_module()'
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/distutils/command/build_py.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py index 4067ca4..b3cc1e9 100644 --- a/Lib/distutils/command/build_py.py +++ b/Lib/distutils/command/build_py.py @@ -93,12 +93,15 @@ class BuildPy (Command): if type (package) is StringType: path = string.split (package, '.') elif type (package) in (TupleType, ListType): - path = list (path) + path = list (package) else: raise TypeError, "'package' must be a string, list, or tuple" if not self.package_dir: - return apply (os.path.join, path) + if path: + return apply (os.path.join, path) + else: + return '' else: tail = [] while path: @@ -113,7 +116,10 @@ class BuildPy (Command): else: # arg! everything failed, we might as well have not even # looked in package_dir -- oh well - return apply (os.path.join, tail) + if tail: + return apply (os.path.join, tail) + else: + return '' # get_package_dir () @@ -134,7 +140,7 @@ class BuildPy (Command): "but is not a directory") % package_dir # Require __init__.py for all but the "root package" - if package != "": + if package: init_py = os.path.join (package_dir, "__init__.py") if not os.path.isfile (init_py): self.warn (("package init file '%s' not found " + @@ -233,11 +239,14 @@ class BuildPy (Command): if type (package) is StringType: package = string.split (package, '.') + elif type (package) not in (ListType, TupleType): + raise TypeError, \ + "'package' must be a string (dot-separated), list, or tuple" # Now put the module source file into the "build" area -- this is # easy, we just copy it somewhere under self.build_dir (the build # directory for Python source). - outfile_path = package + outfile_path = list (package) outfile_path.append (module + ".py") outfile_path.insert (0, self.build_dir) outfile = apply (os.path.join, outfile_path) |