Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
c12dbc2a
Commit
c12dbc2a
authored
Mar 18, 2002
by
Martin v. Löwis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Patch #495598: add an -q (quiet) option to pycompile.
parent
d012cea5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
11 deletions
+31
-11
Doc/lib/libcompileall.tex
Doc/lib/libcompileall.tex
+10
-2
Lib/compileall.py
Lib/compileall.py
+19
-9
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Doc/lib/libcompileall.tex
View file @
c12dbc2a
...
...
@@ -17,14 +17,22 @@ compile Python sources in directories named on the command line or in
\begin{funcdesc}
{
compile
_
dir
}{
dir
\optional
{
, maxlevels
\optional
{
,
ddir
\optional
{
, force
}}}}
ddir
\optional
{
, force
\optional
{
,
rx
\optional
{
, quiet
}}}}}}
Recursively descend the directory tree named by
\var
{
dir
}
, compiling
all
\file
{
.py
}
files along the way. The
\var
{
maxlevels
}
parameter
is used to limit the depth of the recursion; it defaults to
\code
{
10
}
. If
\var
{
ddir
}
is given, it is used as the base path from
which the filenames used in error messages will be generated. If
\var
{
force
}
is true, modules are re-compiled even if the timestamps
are up to date.
are up to date.
If
\var
{
rx
}
is given, it specifies a regular expression of file
names to exclude from the search; that expression is searched for in
the full path.
If
\var
{
quiet
}
is true, nothing is printed to the standard output
in normal operation.
\end{funcdesc}
\begin{funcdesc}
{
compile
_
path
}{
\optional
{
skip
_
curdir
\optional
{
,
...
...
Lib/compileall.py
View file @
c12dbc2a
...
...
@@ -19,7 +19,8 @@ import py_compile
__all__
=
[
"compile_dir"
,
"compile_path"
]
def
compile_dir
(
dir
,
maxlevels
=
10
,
ddir
=
None
,
force
=
0
,
rx
=
None
):
def
compile_dir
(
dir
,
maxlevels
=
10
,
ddir
=
None
,
force
=
0
,
rx
=
None
,
quiet
=
0
):
"""Byte-compile all modules in the given directory tree.
Arguments (only dir is required):
...
...
@@ -29,9 +30,11 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=0, rx=None):
ddir: if given, purported directory name (this is the
directory name that will show up in error messages)
force: if 1, force compilation, even if timestamps are up-to-date
quiet: if 1, be quiet during compilation
"""
print
'Listing'
,
dir
,
'...'
if
not
quiet
:
print
'Listing'
,
dir
,
'...'
try
:
names
=
os
.
listdir
(
dir
)
except
os
.
error
:
...
...
@@ -57,7 +60,8 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=0, rx=None):
try
:
ctime
=
os
.
stat
(
cfile
)[
stat
.
ST_MTIME
]
except
os
.
error
:
ctime
=
0
if
(
ctime
>
ftime
)
and
not
force
:
continue
print
'Compiling'
,
fullname
,
'...'
if
not
quiet
:
print
'Compiling'
,
fullname
,
'...'
try
:
ok
=
py_compile
.
compile
(
fullname
,
None
,
dfile
)
except
KeyboardInterrupt
:
...
...
@@ -77,11 +81,11 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=0, rx=None):
name
!=
os
.
curdir
and
name
!=
os
.
pardir
and
\
os
.
path
.
isdir
(
fullname
)
and
\
not
os
.
path
.
islink
(
fullname
):
if
not
compile_dir
(
fullname
,
maxlevels
-
1
,
dfile
,
force
,
rx
):
if
not
compile_dir
(
fullname
,
maxlevels
-
1
,
dfile
,
force
,
rx
,
quiet
):
success
=
0
return
success
def
compile_path
(
skip_curdir
=
1
,
maxlevels
=
0
,
force
=
0
):
def
compile_path
(
skip_curdir
=
1
,
maxlevels
=
0
,
force
=
0
,
quiet
=
0
):
"""Byte-compile all module on sys.path.
Arguments (all optional):
...
...
@@ -89,6 +93,7 @@ def compile_path(skip_curdir=1, maxlevels=0, force=0):
skip_curdir: if true, skip current directory (default true)
maxlevels: max recursion level (default 0)
force: as for compile_dir() (default 0)
quiet: as for compile_dir() (default 0)
"""
success
=
1
...
...
@@ -96,20 +101,22 @@ def compile_path(skip_curdir=1, maxlevels=0, force=0):
if
(
not
dir
or
dir
==
os
.
curdir
)
and
skip_curdir
:
print
'Skipping current directory'
else
:
success
=
success
and
compile_dir
(
dir
,
maxlevels
,
None
,
force
)
success
=
success
and
compile_dir
(
dir
,
maxlevels
,
None
,
force
,
quiet
=
quiet
)
return
success
def
main
():
"""Script main program."""
import
getopt
try
:
opts
,
args
=
getopt
.
getopt
(
sys
.
argv
[
1
:],
'lfd:x:'
)
opts
,
args
=
getopt
.
getopt
(
sys
.
argv
[
1
:],
'lf
q
d:x:'
)
except
getopt
.
error
,
msg
:
print
msg
print
"usage: python compileall.py [-l] [-f] [-d destdir] "
\
print
"usage: python compileall.py [-l] [-f] [-
q] [-
d destdir] "
\
"[-s regexp] [directory ...]"
print
"-l: don't recurse down"
print
"-f: force rebuild even if timestamps are up-to-date"
print
"-q: quiet operation"
print
"-d destdir: purported directory name for error messages"
print
" if no directory arguments, -l sys.path is assumed"
print
"-x regexp: skip files matching the regular expression regexp"
...
...
@@ -118,11 +125,13 @@ def main():
maxlevels
=
10
ddir
=
None
force
=
0
quiet
=
0
rx
=
None
for
o
,
a
in
opts
:
if
o
==
'-l'
:
maxlevels
=
0
if
o
==
'-d'
:
ddir
=
a
if
o
==
'-f'
:
force
=
1
if
o
==
'-q'
:
quiet
=
1
if
o
==
'-x'
:
import
re
rx
=
re
.
compile
(
a
)
...
...
@@ -134,7 +143,8 @@ def main():
try
:
if
args
:
for
dir
in
args
:
if
not
compile_dir
(
dir
,
maxlevels
,
ddir
,
force
,
rx
):
if
not
compile_dir
(
dir
,
maxlevels
,
ddir
,
force
,
rx
,
quiet
):
success
=
0
else
:
success
=
compile_path
()
...
...
Misc/NEWS
View file @
c12dbc2a
...
...
@@ -44,6 +44,8 @@ Extension modules
Library
- compileall now supports quiet operation.
- The BaseHTTPServer implements now optionally HTTP/1.1 persistent
connections.
...
...
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