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
c65da4c5
Commit
c65da4c5
authored
Jan 24, 2012
by
Benjamin Peterson
Browse files
Options
Browse Files
Download
Plain Diff
merge heads
parents
5d4cbf9b
e99b627c
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
36 additions
and
40 deletions
+36
-40
Doc/library/functools.rst
Doc/library/functools.rst
+1
-1
Doc/library/os.rst
Doc/library/os.rst
+3
-6
Doc/library/stdtypes.rst
Doc/library/stdtypes.rst
+1
-1
Doc/library/time.rst
Doc/library/time.rst
+14
-13
Lib/test/test_os.py
Lib/test/test_os.py
+7
-2
Lib/test/test_time.py
Lib/test/test_time.py
+1
-1
Misc/NEWS
Misc/NEWS
+4
-0
Modules/posixmodule.c
Modules/posixmodule.c
+0
-11
Python/formatter_unicode.c
Python/formatter_unicode.c
+5
-5
No files found.
Doc/library/functools.rst
View file @
c65da4c5
...
...
@@ -20,7 +20,7 @@ The :mod:`functools` module defines the following functions:
.. function:: cmp_to_key(func)
Transform an old-style comparison function to a key
-
function. Used with
Transform an old-style comparison function to a key
function. Used with
tools that accept key functions (such as :func:`sorted`, :func:`min`,
:func:`max`, :func:`heapq.nlargest`, :func:`heapq.nsmallest`,
:func:`itertools.groupby`). This function is primarily used as a transition
...
...
Doc/library/os.rst
View file @
c65da4c5
...
...
@@ -2085,11 +2085,9 @@ Files and Directories
*target_is_directory*, which defaults to ``False``.
On Windows, a symlink represents a file or a directory, and does not morph to
the target dynamically. For this reason, when creating a symlink on Windows,
if the target is not already present, the symlink will default to being a
file symlink. If *target_is_directory* is set to ``True``, the symlink will
be created as a directory symlink. This parameter is ignored if the target
exists (and the symlink is created with the same type as the target).
the target dynamically. If *target_is_directory* is set to ``True``, the
symlink will be created as a directory symlink, otherwise as a file symlink
(the default).
Symbolic link support was introduced in Windows 6.0 (Vista). :func:`symlink`
will raise a :exc:`NotImplementedError` on Windows versions earlier than 6.0.
...
...
@@ -2102,7 +2100,6 @@ Files and Directories
administrator level. Either obtaining the privilege or running your
application as an administrator are ways to successfully create symlinks.
:exc:`OSError` is raised when the function is called by an unprivileged
user.
...
...
Doc/library/stdtypes.rst
View file @
c65da4c5
...
...
@@ -877,7 +877,7 @@ are sequences of the same type; *n*, *i*, *j* and *k* are integers.
| ``s * n, n * s`` | *n* shallow copies of *s* | \(2) |
| | concatenated | |
+------------------+--------------------------------+----------+
| ``s[i]`` | *i*
'th item of *s*, origin 0
| \(3) |
| ``s[i]`` | *i*
\ th item of *s*, origin 0
| \(3) |
+------------------+--------------------------------+----------+
| ``s[i:j]`` | slice of *s* from *i* to *j* | (3)(4) |
+------------------+--------------------------------+----------+
...
...
Doc/library/time.rst
View file @
c65da4c5
...
...
@@ -183,19 +183,6 @@ The module defines the following functions and data items:
.. versionadded:: 3.3
.. function:: wallclock()
.. index::
single: Wallclock
single: benchmarking
Return the current time in fractions of a second to the system's best ability.
Use this when the most accurate representation of wall-clock is required, i.e.
when "processor time" is inappropriate. The reference point of the returned
value is undefined so only the difference of consecutive calls is valid.
.. versionadded: 3.3
.. function:: ctime([secs])
Convert a time expressed in seconds since the epoch to a string representing
...
...
@@ -550,6 +537,20 @@ The module defines the following functions and data items:
('EET', 'EEST')
.. function:: wallclock()
.. index::
single: Wallclock
single: benchmarking
Return the current time in fractions of a second to the system's best ability.
Use this when the most accurate representation of wall-clock is required, i.e.
when "processor time" is inappropriate. The reference point of the returned
value is undefined so only the difference of consecutive calls is valid.
.. versionadded: 3.3
.. seealso::
Module :mod:`datetime`
...
...
Lib/test/test_os.py
View file @
c65da4c5
...
...
@@ -500,7 +500,12 @@ class WalkTests(unittest.TestCase):
f
.
write
(
"I'm "
+
path
+
" and proud of it. Blame test_os.
\
n
"
)
f
.
close
()
if
support
.
can_symlink
():
os
.
symlink
(
os
.
path
.
abspath
(
t2_path
),
link_path
)
if
os
.
name
==
'nt'
:
def
symlink_to_dir
(
src
,
dest
):
os
.
symlink
(
src
,
dest
,
True
)
else
:
symlink_to_dir
=
os
.
symlink
symlink_to_dir
(
os
.
path
.
abspath
(
t2_path
),
link_path
)
sub2_tree
=
(
sub2_path
,
[
"link"
],
[
"tmp3"
])
else
:
sub2_tree
=
(
sub2_path
,
[],
[
"tmp3"
])
...
...
@@ -1131,7 +1136,7 @@ class Win32SymlinkTests(unittest.TestCase):
os
.
remove
(
self
.
missing_link
)
def
test_directory_link
(
self
):
os
.
symlink
(
self
.
dirlink_target
,
self
.
dirlink
)
os
.
symlink
(
self
.
dirlink_target
,
self
.
dirlink
,
True
)
self
.
assertTrue
(
os
.
path
.
exists
(
self
.
dirlink
))
self
.
assertTrue
(
os
.
path
.
isdir
(
self
.
dirlink
))
self
.
assertTrue
(
os
.
path
.
islink
(
self
.
dirlink
))
...
...
Lib/test/test_time.py
View file @
c65da4c5
...
...
@@ -334,7 +334,7 @@ class TimeTestCase(unittest.TestCase):
def
test_wallclock
(
self
):
t1
=
time
.
wallclock
()
t2
=
time
.
wallclock
()
self
.
assertGreater
(
t2
,
t1
)
self
.
assertGreater
Equal
(
t2
,
t1
)
t1
=
time
.
wallclock
()
time
.
sleep
(
0.1
)
...
...
Misc/NEWS
View file @
c65da4c5
...
...
@@ -458,6 +458,10 @@ Core and Builtins
Library
-------
-
Issue
#
13772
:
In
os
.
symlink
()
under
Windows
,
do
not
try
to
guess
the
link
target
's type (file or directory). The detection was buggy and made the
call non-atomic (therefore prone to race conditions).
- Issue #6631: Disallow relative file paths in urllib urlopen methods.
- Issue #13722: Avoid silencing ImportErrors when initializing the codecs
...
...
Modules/posixmodule.c
View file @
c65da4c5
...
...
@@ -6551,7 +6551,6 @@ win_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
wchar_t
*
wsrc
,
*
wdest
;
int
target_is_directory
=
0
;
DWORD
res
;
WIN32_FILE_ATTRIBUTE_DATA
src_info
;
if
(
!
check_CreateSymbolicLinkW
())
{
...
...
@@ -6581,16 +6580,6 @@ win_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
if
(
wsrc
==
NULL
)
goto
error
;
/* if src is a directory, ensure target_is_directory==1 */
if
(
GetFileAttributesExW
(
wsrc
,
GetFileExInfoStandard
,
&
src_info
))
{
target_is_directory
=
target_is_directory
||
(
src_info
.
dwFileAttributes
&
FILE_ATTRIBUTE_DIRECTORY
);
}
Py_BEGIN_ALLOW_THREADS
res
=
Py_CreateSymbolicLinkW
(
wdest
,
wsrc
,
target_is_directory
);
Py_END_ALLOW_THREADS
...
...
Python/formatter_unicode.c
View file @
c65da4c5
...
...
@@ -682,7 +682,7 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format)
Py_ssize_t
pos
;
Py_ssize_t
len
=
PyUnicode_GET_LENGTH
(
value
);
PyObject
*
result
=
NULL
;
int
maxchar
=
127
;
Py_UCS4
maxchar
=
127
;
/* sign is not allowed on strings */
if
(
format
->
sign
!=
'\0'
)
{
...
...
@@ -749,7 +749,7 @@ format_int_or_long_internal(PyObject *value, const InternalFormatSpec *format,
IntOrLongToString
tostring
)
{
PyObject
*
result
=
NULL
;
int
maxchar
=
127
;
Py_UCS4
maxchar
=
127
;
PyObject
*
tmp
=
NULL
;
Py_ssize_t
inumeric_chars
;
Py_UCS4
sign_char
=
'\0'
;
...
...
@@ -798,7 +798,7 @@ format_int_or_long_internal(PyObject *value, const InternalFormatSpec *format,
tmp
=
PyUnicode_FromOrdinal
(
x
);
inumeric_chars
=
0
;
n_digits
=
1
;
maxchar
=
Py_MAX
(
maxchar
,
x
);
maxchar
=
Py_MAX
(
maxchar
,
(
Py_UCS4
)
x
);
/* As a sort-of hack, we tell calc_number_widths that we only
have "remainder" characters. calc_number_widths thinks
...
...
@@ -926,7 +926,7 @@ format_float_internal(PyObject *value,
NumberFieldWidths
spec
;
int
flags
=
0
;
PyObject
*
result
=
NULL
;
int
maxchar
=
127
;
Py_UCS4
maxchar
=
127
;
Py_UCS4
sign_char
=
'\0'
;
int
float_type
;
/* Used to see if we have a nan, inf, or regular float. */
PyObject
*
unicode_tmp
=
NULL
;
...
...
@@ -1070,7 +1070,7 @@ format_complex_internal(PyObject *value,
NumberFieldWidths
im_spec
;
int
flags
=
0
;
PyObject
*
result
=
NULL
;
int
maxchar
=
127
;
Py_UCS4
maxchar
=
127
;
int
rkind
;
void
*
rdata
;
Py_ssize_t
index
;
...
...
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