Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
setuptools
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
setuptools
Commits
6d9fe7ee
Commit
6d9fe7ee
authored
May 14, 2009
by
Tarek Ziadé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pep8-fied distutils.command.sdist + more tests
parent
1a7f413d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
44 deletions
+39
-44
command/sdist.py
command/sdist.py
+16
-43
tests/test_sdist.py
tests/test_sdist.py
+23
-1
No files found.
command/sdist.py
View file @
6d9fe7ee
...
...
@@ -30,7 +30,7 @@ def show_formats():
FancyGetopt
(
formats
).
print_help
(
"List of available source distribution formats:"
)
class
sdist
(
Command
):
class
sdist
(
Command
):
description
=
"create a source distribution (tarball, zip file, etc.)"
...
...
@@ -77,10 +77,10 @@ class sdist (Command):
negative_opt
=
{
'no-defaults'
:
'use-defaults'
,
'no-prune'
:
'prune'
}
default_format
=
{
'posix'
:
'gztar'
,
default_format
=
{
'posix'
:
'gztar'
,
'nt'
:
'zip'
}
def
initialize_options
(
self
):
def
initialize_options
(
self
):
# 'template' and 'manifest' are, respectively, the names of
# the manifest template and manifest file.
self
.
template
=
None
...
...
@@ -100,8 +100,7 @@ class sdist (Command):
self
.
archive_files
=
None
def
finalize_options
(
self
):
def
finalize_options
(
self
):
if
self
.
manifest
is
None
:
self
.
manifest
=
"MANIFEST"
if
self
.
template
is
None
:
...
...
@@ -124,9 +123,7 @@ class sdist (Command):
if
self
.
dist_dir
is
None
:
self
.
dist_dir
=
"dist"
def
run
(
self
):
def
run
(
self
):
# 'filelist' contains the list of files that will make up the
# manifest
self
.
filelist
=
FileList
()
...
...
@@ -148,8 +145,7 @@ class sdist (Command):
# or zipfile, or whatever.
self
.
make_distribution
()
def
check_metadata
(
self
):
def
check_metadata
(
self
):
"""Ensure that all required elements of meta-data (name, version,
URL, (author and author_email) or (maintainer and
maintainer_email)) are supplied by the Distribution object; warn if
...
...
@@ -179,17 +175,13 @@ class sdist (Command):
"or (maintainer and maintainer_email) "
+
"must be supplied"
)
# check_metadata ()
def
get_file_list
(
self
):
def
get_file_list
(
self
):
"""Figure out the list of files to include in the source
distribution, and put it in 'self.filelist'. This might involve
reading the manifest template (and writing the manifest), or just
reading the manifest, or just using the default file set -- it all
depends on the user's options and the state of the filesystem.
"""
# If we have a manifest template, see if it's newer than the
# manifest; if so, we'll regenerate the manifest.
template_exists
=
os
.
path
.
isfile
(
self
.
template
)
...
...
@@ -249,10 +241,7 @@ class sdist (Command):
else
:
self
.
read_manifest
()
# get_file_list ()
def
add_defaults
(
self
):
def
add_defaults
(
self
):
"""Add all the default files to self.filelist:
- README or README.txt
- setup.py
...
...
@@ -334,10 +323,7 @@ class sdist (Command):
build_scripts
=
self
.
get_finalized_command
(
'build_scripts'
)
self
.
filelist
.
extend
(
build_scripts
.
get_source_files
())
# add_defaults ()
def
read_template
(
self
):
def
read_template
(
self
):
"""Read and parse manifest template file named by self.template.
(usually "MANIFEST.in") The parsing and processing is done by
...
...
@@ -364,10 +350,7 @@ class sdist (Command):
template
.
current_line
,
msg
))
# read_template ()
def
prune_file_list
(
self
):
def
prune_file_list
(
self
):
"""Prune off branches that might slip into the file list as created
by 'read_template()', but really don't belong there:
* the build tree (typically "build")
...
...
@@ -393,7 +376,7 @@ class sdist (Command):
vcs_ptrn = r'
(
^|%
s
)(
%
s
)(
%
s
).
*
' % (seps, '
|
'.join(vcs_dirs), seps)
self.filelist.exclude_pattern(vcs_ptrn, is_regex=1)
def write_manifest
(self):
def write_manifest(self):
"""Write the file list in '
self
.
filelist
' (presumably as filled in
by '
add_defaults
()
' and '
read_template
()
') to the manifest file
named by '
self
.
manifest
'.
...
...
@@ -402,10 +385,7 @@ class sdist (Command):
(self.manifest, self.filelist.files),
"writing manifest file '
%
s
'" % self.manifest)
# write_manifest ()
def read_manifest (self):
def read_manifest(self):
"""Read the manifest file (named by '
self
.
manifest
') and use it to
fill in '
self
.
filelist
', the list of files to include in the source
distribution.
...
...
@@ -421,10 +401,7 @@ class sdist (Command):
self.filelist.append(line)
manifest.close()
# read_manifest ()
def make_release_tree (self, base_dir, files):
def make_release_tree(self, base_dir, files):
"""Create the directory tree that will become the source
distribution archive. All directories implied by the filenames in
'
files
' are created under '
base_dir
', and then we hard link or copy
...
...
@@ -466,9 +443,7 @@ class sdist (Command):
self.distribution.metadata.write_pkg_info(base_dir)
# make_release_tree ()
def make_distribution (self):
def make_distribution(self):
"""
Create
the
source
distribution
(
s
).
First
,
we
create
the
release
tree
with
'make_release_tree()'
;
then
,
we
create
all
required
archive
files
(
according
to
'self.formats'
)
from
the
release
tree
.
...
...
@@ -497,10 +472,8 @@ class sdist (Command):
if not self.keep_temp:
dir_util.remove_tree(base_dir, dry_run=self.dry_run)
def get_archive_files
(self):
def get_archive_files(self):
"""
Return
the
list
of
archive
files
created
when
the
command
was
run
,
or
None
if
the
command
hasn
't run yet.
"""
return self.archive_files
# class sdist
tests/test_sdist.py
View file @
6d9fe7ee
...
...
@@ -13,7 +13,7 @@ from distutils.command.sdist import sdist
from
distutils.command.sdist
import
show_formats
from
distutils.core
import
Distribution
from
distutils.tests.test_config
import
PyPIRCCommandTestCase
from
distutils.errors
import
DistutilsExecError
from
distutils.errors
import
DistutilsExecError
,
DistutilsOptionError
from
distutils.spawn
import
find_executable
from
distutils.tests
import
support
from
distutils.archive_util
import
ARCHIVE_FORMATS
...
...
@@ -224,6 +224,28 @@ class sdistTestCase(PyPIRCCommandTestCase):
if
line
.
strip
().
startswith
(
'--formats='
)]
self
.
assertEquals
(
len
(
output
),
num_formats
)
def
test_finalize_options
(
self
):
dist
,
cmd
=
self
.
get_cmd
()
cmd
.
finalize_options
()
# default options set by finalize
self
.
assertEquals
(
cmd
.
manifest
,
'MANIFEST'
)
self
.
assertEquals
(
cmd
.
template
,
'MANIFEST.in'
)
self
.
assertEquals
(
cmd
.
dist_dir
,
'dist'
)
# formats has to be a string splitable on (' ', ',') or
# a stringlist
cmd
.
formats
=
1
self
.
assertRaises
(
DistutilsOptionError
,
cmd
.
finalize_options
)
cmd
.
formats
=
[
'zip'
]
cmd
.
finalize_options
()
# formats has to be known
cmd
.
formats
=
'supazipa'
self
.
assertRaises
(
DistutilsOptionError
,
cmd
.
finalize_options
)
def
test_suite
():
return
unittest
.
makeSuite
(
sdistTestCase
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment