Commit Graph

17794 Commits

Author SHA1 Message Date
Greg Ward 4d9d2563f5 #17445: difflib: add diff_bytes(), to compare bytes rather than str
Some applications (e.g. traditional Unix diff, version control
systems) neither know nor care about the encodings of the files they
are comparing. They are textual, but to the diff utility they are just
bytes. This worked fine under Python 2, because all of the hardcoded
strings in difflib.py are ASCII, so could safely be combined with
old-style u'' strings. But it stopped working in 3.x.

The solution is to use surrogate escapes for a lossless
bytes->str->bytes roundtrip. That means {unified,context}_diff() can
continue to just handle strings without worrying about bytes. Callers
who have to deal with bytes will need to change to using diff_bytes().

Use case: Mercurial's test runner uses difflib to compare current hg
output with known good output. But Mercurial's output is just bytes,
since it can contain:
  * file contents (arbitrary unknown encoding)
  * filenames (arbitrary unknown encoding)
  * usernames and commit messages (usually UTF-8, but not guaranteed
    because old versions of Mercurial did not enforce it)
  * user messages (locale encoding)

Since the output of any given hg command can include text in multiple
encodings, it is hopeless to try to treat it as decodable Unicode
text. It's just bytes, all the way down.

This is an elaboration of a patch by Terry Reedy.
2015-04-20 20:21:21 -04:00
Benjamin Peterson d19458ac51 merge 3.4 (#23989) 2015-04-20 18:22:21 -04:00
Benjamin Peterson 6de708fd46 recommend requests library (closes #23989)
Patch from Van Lindberg
2015-04-20 18:18:14 -04:00
Benjamin Peterson cdbe29902e fix grammar 2015-04-19 23:14:37 -04:00
Larry Hastings 770ce204ee Regenerated pydoc-topics and fixed bad/suspicious doc markup for Python 3.5.0a4. 2015-04-19 13:50:12 -07:00
Berker Peksag 662738980a Mark TarInfo.frombuf() and TarInfo.fromtarfile() as classmethods. 2015-04-19 04:38:01 +03:00
Berker Peksag 37de910b52 Mark TarInfo.frombuf() and TarInfo.fromtarfile() as classmethods. 2015-04-19 04:37:35 +03:00
Berker Peksag 0002d3ccf6 Issue #15566: Document encoding and errors parameters of TarInfo.frombuf().
Patch by Andy Holst.
2015-04-19 04:32:52 +03:00
Berker Peksag e4dde50c78 Issue #15566: Document encoding and errors parameters of TarInfo.frombuf().
Patch by Andy Holst.
2015-04-19 04:32:23 +03:00
Vinay Sajip 1a16a8340a Closes #23536: Clarified scope of fileConfig()'s API. 2015-04-18 13:15:10 +01:00
Vinay Sajip 2d965c2555 Issue #23536: Clarified scope of fileConfig()'s API. 2015-04-18 13:14:10 +01:00
Berker Peksag 6d7dced188 Fix two typos in AbstractBasicAuthHandler documentation. 2015-04-17 04:58:45 +03:00
R David Murray 2e6ad4267c #16914: reflow paragraph and add missing versionchanged. 2015-04-16 17:24:52 -04:00
R David Murray 0c49b896e6 #16914: add timestamps to smtplib debugging output via new debuglevel 2.
Patch by Gavin Chappell and Maciej Szulik.
2015-04-16 17:14:42 -04:00
R David Murray 4c7f995e80 #7159: generalize urllib prior auth support.
This fix is a superset of the functionality introduced by the issue #19494
enhancement, and supersedes that fix.  Instead of a new handler, we have a new
password manager that tracks whether we should send the auth for a given uri.
This allows us to say "always send", satisfying #19494, or track that we've
succeeded in auth and send the creds right away on every *subsequent* request.
The support for using the password manager is added to AbstractBasicAuth,
which means the proxy handler also now can handle prior auth if passed
the new password manager.

Patch by Akshit Khurana, docs mostly by me.
2015-04-16 16:36:18 -04:00
R David Murray 2b78129b3a #18128: use standard +NNNN timezone format in POT-Creation-Date header.
Patch by Michael McFadden, with a few small style tweaks.
2015-04-16 12:15:09 -04:00
Steve Dower d2bc389e55 Issue #4254: Adds _curses.update_lines_cols() Patch by Arnon Yaari 2015-04-15 18:06:05 -04:00
Steve Dower cb39d1f466 Issue 19933: Provide default argument for ndigits in round. Patch by Vajrasky Kok. 2015-04-15 16:10:59 -04:00
Eric V. Smith 7a80389ce5 Issue 23193: Add numeric_owner to tarfile.TarFile.extract() and tarfile.TarFile.extractall(). 2015-04-15 10:27:58 -04:00
Benjamin Peterson ef9ffcbcd4 properly wrap 2015-04-14 22:12:14 -04:00
Gregory P. Smith 6e73000723 Add a subprocess.run() function than returns a CalledProcess instance for a
more consistent API than the existing call* functions.
(enhancement from issue 23342)
2015-04-14 16:14:25 -07:00
Gregory P. Smith 7c63fd3df5 issue9859: add the missing versionadded tag to the documentation. 2015-04-14 15:25:01 -07:00
R David Murray f3cae79883 Merge: #23957: fix typo. 2015-04-14 16:42:49 -04:00
R David Murray 5be7f1513d #23957: fix typo. 2015-04-14 16:42:08 -04:00
Gregory P. Smith 4e72cceb62 issue9859: Document test.support.detect_api_mismatch() and simplify its test. 2015-04-14 13:26:06 -07:00
Gregory P. Smith a8b120641b issue9014: Include more formatting on :c:type:`PyObject` etc. 2015-04-14 11:21:26 -07:00
Gregory P. Smith 0f2f3bc9db issue9014: Include more formatting on :c:type:`PyObject` etc. 2015-04-14 11:21:05 -07:00
Gregory P. Smith b8dde4f5c3 issue9014: Properly document PyObject_HEAD and friends post-PEP-3123. 2015-04-14 11:13:14 -07:00
Gregory P. Smith 1b24465c93 issue9014: Properly document PyObject_HEAD and friends post-PEP-3123. 2015-04-14 11:12:53 -07:00
Gregory P. Smith 2f86a03405 remove trailing space 2015-04-14 10:05:02 -07:00
Gregory P. Smith 23a6a0daa1 remove trailing space :) 2015-04-14 10:04:30 -07:00
Gregory P. Smith 6eda1be83c issue22046: mention that zipfile can raise NotImplementedError on unsupported
compression algorithms.
2015-04-14 10:02:49 -07:00
Gregory P. Smith f2a448a66b issue22046: mention that zipfile can raise NotImplementedError on unsupported
compression algorithms.
2015-04-14 10:02:20 -07:00
Andrew Kuchling f887a6180a #21146: give a more efficient recipe in gzip docs 2015-04-14 11:44:40 -04:00
Berker Peksag dfa4e045a3 Issue #23943: Fix typos. Patch by Piotr Kasprzyk. 2015-04-14 09:35:51 +03:00
Berker Peksag 4882cacab6 Issue #23943: Fix typos. Patch by Piotr Kasprzyk. 2015-04-14 09:30:01 +03:00
Larry Hastings a6cc551502 Issue #22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
Patch courtesy of Joe Jevnik.
2015-04-13 17:48:40 -04:00
Zachary Ware d827be8ff1 Closes #23730: merge with 3.4 2015-04-13 16:44:05 -05:00
Zachary Ware ae9f0fede3 Issue #23730: Document the return value of ZipFile.extract
Patch by Stéphane Wirtel.
2015-04-13 16:40:49 -05:00
Zachary Ware 38019d1c34 Closes #23938: List Windows XP as an unsupported platform.
Patch by Alex Walters.
2015-04-13 15:51:59 -05:00
Brett Cannon 8396b8ef08 Fix a grammar error in the porting HOWTO as found by Eric Smith. 2015-04-13 16:32:16 -04:00
Brett Cannon fd53f98459 Issue #23733: Mention bytes.__mod__ in the porting HOWTO. 2015-04-13 16:21:07 -04:00
Antoine Pitrou 3764fc2951 Fix doc build error 2015-04-13 21:07:57 +02:00
Antoine Pitrou b9f2ab9eae Fix duplicate doc entry for SSLContext.get_ca_certs()
(closes #18147)
2015-04-13 21:06:51 +02:00
Antoine Pitrou 97aa953550 Fix duplicate doc entry for SSLContext.get_ca_certs()
(closes #18147)
2015-04-13 21:06:15 +02:00
Brett Cannon 4269d6db93 Issue #23732: Mention the new -b semantics in the porting HOWTO. 2015-04-13 14:37:50 -04:00
Brett Cannon f299abdafa Issue #23731: Implement PEP 488.
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Zachary Ware 774ac377da Closes #17202: Merge with 3.4 2015-04-13 12:11:40 -05:00
Zachary Ware 4c9c848159 Issue #17202: Add .bat to .hgeol to force them to CRLF.
Using LF can a script to fail if it tries to use a label that is
split across 512 byte blocks.  Who knows why.
2015-04-13 11:59:54 -05:00
Zachary Ware 3f103462fb Closes #23932: Merge with 3.4 2015-04-13 11:32:01 -05:00