summaryrefslogtreecommitdiffstats
path: root/Lib/pickletools.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Change string literals to bytes, since they are compared to bytes.Jeremy Hylton2007-08-291-2/+2
|
* More str/bytes fixes.Guido van Rossum2007-08-271-4/+4
|
* SF patch# 1770008 by Christian Heimes (plus some extras).Guido van Rossum2007-08-091-2/+2
| | | | | | | | | | Completely get rid of StringIO.py and cStringIO.c. I had to fix a few tests and modules beyond what Christian did, and invent a few conventions. E.g. in elementtree, I chose to write/return Unicode strings whe no encoding is given, but bytes when an explicit encoding is given. Also mimetools was made to always assume binary files.
* Getting rid of cPickle. Mmm, feels good!Guido van Rossum2007-07-201-6/+4
|
* Make test_pickletools.py pass.Guido van Rossum2007-07-171-34/+20
|
* Rip out all codecs that can't work in a unicode/bytes world:Walter Dörwald2007-06-121-3/+3
| | | | | | | | base64, uu, zlib, rot_13, hex, quopri, bz2, string_escape. However codecs.escape_encode() and codecs.escape_decode() still exist, as they are used for pickling str8 objects (so those two functions can go, when the str8 type is removed).
* Merged revisions 55795-55816 via svnmerge fromGuido van Rossum2007-06-071-4/+1
| | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/p3yk ........ r55797 | neal.norwitz | 2007-06-07 00:00:57 -0700 (Thu, 07 Jun 2007) | 3 lines Get rid of some remnants of classic classes. types.ClassType == type. Also get rid of almost all uses of the types module and use the builtin name. ........ r55798 | neal.norwitz | 2007-06-07 00:12:36 -0700 (Thu, 07 Jun 2007) | 1 line Remove a use of types, verify commit hook works ........ r55809 | guido.van.rossum | 2007-06-07 11:11:29 -0700 (Thu, 07 Jun 2007) | 2 lines Fix syntax error introduced by Neal in last checkin. ........
* Merged revisions 55270-55324 via svnmerge fromGuido van Rossum2007-05-141-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/p3yk ........ r55271 | fred.drake | 2007-05-11 10:14:47 -0700 (Fri, 11 May 2007) | 3 lines remove jpeg, panel libraries for SGI; there is more IRIX stuff left over, I guess that should be removed too, but will leave for someone who is sure ........ r55280 | fred.drake | 2007-05-11 19:11:37 -0700 (Fri, 11 May 2007) | 1 line remove mention of file that has been removed ........ r55301 | brett.cannon | 2007-05-13 17:38:05 -0700 (Sun, 13 May 2007) | 4 lines Remove rexec and Bastion from the stdlib. This also eliminates the need for f_restricted on frames. This in turn negates the need for PyEval_GetRestricted() and PyFrame_IsRestricted(). ........ r55303 | brett.cannon | 2007-05-13 19:22:22 -0700 (Sun, 13 May 2007) | 2 lines Remove the md5 and sha modules. ........ r55305 | george.yoshida | 2007-05-13 19:45:55 -0700 (Sun, 13 May 2007) | 2 lines fix markup ........ r55306 | neal.norwitz | 2007-05-13 19:47:57 -0700 (Sun, 13 May 2007) | 1 line Get the doc building again after some removals. ........ r55307 | neal.norwitz | 2007-05-13 19:50:45 -0700 (Sun, 13 May 2007) | 1 line Get test_pyclbr passing again after getstatus was removed from commands. This "test case" was weird since it was just importing a seemingly random module. Remove the import ........ r55322 | brett.cannon | 2007-05-14 14:09:20 -0700 (Mon, 14 May 2007) | 3 lines Remove the compiler package. Will eventually need a mechanism to byte compile an AST. ........
* Got test_pickletools and test_pickle working.Guido van Rossum2007-05-081-80/+94
| | | | (Alas, test_cpickle is still broken.)
* Checkpoint. A b it closer to working pickles and pickletools.Guido van Rossum2007-05-071-1/+2
| | | | Added 'Y' getargs opcode which requires a bytes object.
* Rip out all the u"..." literals and calls to unicode().Guido van Rossum2007-05-021-3/+3
|
* Change a test to be more predictable.Guido van Rossum2007-02-261-4/+4
| | | | | The problem with using random.random is that several modules and tests do "from random in random" which confuses pickle.whichmodule().
* Fix most trivially-findable print statements.Guido van Rossum2007-02-091-8/+8
| | | | | | | | | There's one major and one minor category still unfixed: doctests are the major category (and I hope to be able to augment the refactoring tool to refactor bona fide doctests soon); other code generating print statements in strings is the minor category. (Oh, and I don't know if the compiler package works.)
* Rip out 'long' and 'L'-suffixed integer literals.Guido van Rossum2007-01-151-5/+5
| | | | (Rough first cut.)
* Fix pickletools doctests -- all we get nowadays is longs.Guido van Rossum2007-01-151-5/+5
| | | | (Hmm... Shouldn't longs of certain sizes be pickled using 'I' opcodes? Later.)
* Get rid of dict.has_key(). Boy this has a lot of repercussions!Guido van Rossum2006-08-181-21/+12
| | | | | | Not all code has been fixed yet; this is just a checkpoint... The C API still has PyDict_HasKey() and _HasKeyString(); not sure if I want to change those just yet.
* SF patch 1495675: Remove types.InstanceType and new.instanceGuido van Rossum2006-05-261-30/+46
| | | | (Collin Winter)
* An instance of class PicklingError was used here simply as an example ofTim Peters2005-02-151-21/+26
| | | | | | | _some_ user-defined class instance. That it was also an exception isn't interesting, but does interfere with Michael Hudson's new-style exception patch. This just changes the doctest example, to use an instance of a non-exception class.
* Remove reference to old pickle feature.Raymond Hettinger2004-12-071-5/+0
|
* Essentially SF patch 1061679: add missing __all__ to pickletools.py.Tim Peters2004-11-061-0/+4
| | | | Harmless.
* Add argument to docstringAndrew M. Kuchling2004-08-071-1/+1
|
* dis(): Added an optional memo argument, so that multiple pickles in aTim Peters2003-02-051-2/+38
| | | | | file can be dumped without (bogus) complaint if the the pickles were created using a single pickle memo.
* It's Official: for LONG1/LONG4, a "byte count" of 0 is taken as aTim Peters2003-01-311-3/+8
| | | | | shortcut meaning 0L. This allows LONG1 to encode 0L in two bytes total.
* Updated the INST/OBJ docs, to say they really are (almost) identicalTim Peters2003-01-301-0/+6
| | | | in 2.3.
* dis(): Simplified stack emulation a bit.Tim Peters2003-01-301-14/+16
|
* dis(): This had a problem with proto 0 pickles, in that POP sometimesTim Peters2003-01-291-17/+113
| | | | | | | | | | popped a MARK, but without stack emulation the disassembler couldn't know that, and subsequent indentation got hosed. Now the disassembler does do enough stack emulation to catch this. While I was at it, also added lots of sanity checks for other stack operations, and correct use of the memo. This goes (I think) a long way toward being a "pickle verifier" now too.
* minor grammar tweaksSkip Montanaro2003-01-291-5/+5
|
* Document the demise of all pretenses of safety, and the differenceGuido van Rossum2003-01-291-4/+17
| | | | | between cPickle and pickle.py regarding __safe_for_unpickling__ before Python 2.3.
* Whitespace normalization.Tim Peters2003-01-291-4/+4
|
* pickle: Comment repair.Tim Peters2003-01-291-23/+2
| | | | pickletools: Import decode_long from pickle instead of duplicating it.
* Use raw-mode docstring whenever there's an escape code in an example --Tim Peters2003-01-281-42/+42
| | | | they're easier to read this way.
* _dis_test should be a raw string now that it contains \x escapes.Guido van Rossum2003-01-281-1/+1
|
* dis(): Not all opcodes are printable anymore, so print the reprTim Peters2003-01-281-126/+150
| | | | | | | | | | of the opcode character instead (but stripping the quotes). Added a proto 2 test section for the canonical recursive-tuple case. Note that since pickle's save_tuple() takes different paths depending on tuple length now, beefier tests are really needed (but not in pickletools); the "short tuple" case tried here was actually broken yesterday, and it's subtle stuff so needs to be tested.
* Fix one disassembly output now that empty tuples are no longerGuido van Rossum2003-01-281-12/+11
| | | | | memoized in text mode. Fixed some variable names in the disassembler doctest.
* Comments.Tim Peters2003-01-281-1/+5
|
* Now that proto2 is defined, replaced XXX blocks with text about it.Tim Peters2003-01-281-175/+206
| | | | | Also moved the proto2 opcode descriptors into the sections they fit (like TUPLE{1,2,3} in the group of tuple-building opcodes; etc).
* Use proper function name in exception messagesNeal Norwitz2003-01-281-2/+2
|
* Removed the new LONG2 opcode: it's extravagant. If LONG1 isn't enough,Tim Peters2003-01-281-51/+13
| | | | | | | | | | | | | | | | | | | then the embedded argument consumes at least 256 bytes. The difference between a 3-byte prefix (LONG2 + 2 bytes) and a 5-byte prefix (LONG4 + 4 bytes) is at worst less than 1%. Note that binary strings and binary Unicode strings also have only "size is 1 byte, or size is 4 bytes?" flavors, and I expect for the same reason. The only place a 2-byte thingie was used was in BININT2, where the 2 bytes make up the *entire* embedded argument (and now EXT2 also does this); that's a large savings over 4 bytes, because the total opcode+argument size is so small in the BININT2/EXT2 case. Removed the TAKEN_FROM_ARGUMENT "number of bytes" code, and bifurcated it into TAKEN_FROM_ARGUMENT1 and TAKEN_FROM_ARGUMENT4. Now there's enough info in ArgumentDescriptor objects to deduce the # of bytes consumed by each opcode. Rearranged the order in which proto2 opcodes are listed in pickle.py.
* Documented the 2's-comp business for the new long opcodes.Tim Peters2003-01-271-3/+3
|
* Whitespace normalization.Tim Peters2003-01-271-3/+3
|
* decode_long(): Simplified the "is it negative?" test.Tim Peters2003-01-271-2/+5
|
* Begin the change from 'binary vs. text mode' to 'protocol 0, 1, 2'.Guido van Rossum2003-01-271-5/+5
| | | | The protocol now defaults to 1. Protocol 2 is still unimplemented.
* Begin documenting protocol 2.Guido van Rossum2003-01-271-0/+288
|
* Remove a stray quote.Guido van Rossum2003-01-271-1/+1
|
* Repaired comment.Tim Peters2003-01-271-2/+2
|
* stringnl_noescape_pair(): changed the reader to separate the twoTim Peters2003-01-271-6/+6
| | | | | | | component strings by a blank instead of a period. Guido pointed out that the component strings (at least the first one) can be dotted already. find_class() is overridable too, so only God knows all the possibilities that make sense to someone.
* Moving pickletools.py from the sandbox into the std library. I startedTim Peters2003-01-271-0/+1794
this over the weekend, and it made faster & better progress than I expected -- it's already useful <wink>.