- 24 Sep, 2001 1 commit
-
-
Barry Warsaw authored
-
- 23 Sep, 2001 9 commits
-
-
Tim Peters authored
This almost entirely replaces how pydoc pumps out class docs, but only in text mode (like help(whatever) from a Python shell), not in GUI mode. A class C's attrs are now grouped by the class in which they're defined, attrs defined by C first, then inherited attrs grouped by alphabetic order of the defining classes' names. Within each of those groups, the attrs are subgrouped according to whether they're plain methods, class methods, static methods, properties, or data. Note that pydoc never dumped class data attrs before. If a class data attr is implemented via a data descriptor, the data docstring (if any) is also displayed (e.g., file.softspace). Within a subgroup, the attrs are listed alphabetically. This is a friggin' mess, and there are bound to be glitches. Please beat on it and complain! Here are three glitches: 1. __new__ gets classifed as 'data', for some reason. This will have to get fixed in inspect.py, but since the latter is already looking for any clue that something is a method, pydoc will almost certainly not know what to do with it when its classification changes. 2. properties are special-cased to death. Unlike any other kind of function or method, they don't have a __name__ attr, so none of pydoc's usual code can deal with them. Worse, the getter and setter and del'er methods associated with a property don't appear to be discoverable from Python, so there's really nothing I can think of to do here beyond just listing their names. Note that a property can't be given a docstring, either (or at least I've been unable to sneak one in) -- perhaps the property() constructor could take an optional doc argument? 3. In a nested-scopes world, pydoc still doesn't know anything about nesting, so e.g. classes nested in functions are effectively invisible.
-
Martin v. Löwis authored
-
Tim Peters authored
Create & populate the new Lib/test/data directory.
-
Tim Peters authored
-
Barry Warsaw authored
suite. Note that other tests can put input data in this directory.
-
Barry Warsaw authored
-
Barry Warsaw authored
<http://sf.net/projects/mimelib>. There /are/ API differences between mimelib and email, but most of the implementations are shared (except where cool Py2.2 stuff like generators are used).
-
Fred Drake authored
Added signatures for some new PyType_*() functions.
-
Tim Peters authored
point out, pydoc doesn't tell you where class attributes were defined, gets several new 2.2 features wrong, and isn't aware of some new features checked in on Thursday <wink>. pydoc is hampered in part because inspect.py has the same limitations. Alas, I can't think of a way to fix this within the current architecture of inspect/pydoc: it's simply not possible in 2.2 to figure out everything needed just from examining the object you get back from class.attr. You also need the class context, and the method resolution order, and tests against various things that simply didn't exist before. OTOH, knowledge of how to do that is getting quite complex, so doesn't belong in pydoc. classify_class_attrs takes a different approach, analyzing all the class attrs "at once", and returning the most interesting stuff for each, all in one gulp. pydoc needs to be reworked to use this for classes (instead of the current "filter dir(class) umpteen times against assorted predicates" approach).
-
- 22 Sep, 2001 11 commits
-
-
Tim Peters authored
-
Tim Peters authored
restores the 2.1 ability of Tools/scripts/ndiff.py to start producing output before the entire comparison is complete.
-
Guido van Rossum authored
-
Tim Peters authored
easy for 2.2 new-style classes, but trickier for classic classes, and different approaches are needed "depending". The function will allow later code to treat all flavors of classes uniformly.
-
Tim Peters authored
somewhere inside a line, use ndiff so that intraline difference marking can point out what changed within a line. I don't remember diff-style abbreviations either (haven't used it since '94, except to produce patches), so say the rest in English too.
-
Barry Warsaw authored
-
Barry Warsaw authored
cStringIO's can participate in the iterator protocol. Fill the Itype.tp_iter slot with I_getiter()
-
Barry Warsaw authored
iterator protocol.
-
Fred Drake authored
This closes SF bug #463738.
-
Barry Warsaw authored
Lib/test/output/test_StringIO is no longer necessary. Also, added a test of the iterator protocol that's just been added to StringIO's and cStringIO's.
-
Fred Drake authored
interpreter is reporting what we expect to see.
-
- 21 Sep, 2001 12 commits
-
-
Guido van Rossum authored
- if __getattribute__ exists, it is called first; if it doesn't exists, PyObject_GenericGetAttr is called first. - if the above raises AttributeError, and __getattr__ exists, it is called.
-
Fred Drake authored
-
Fred Drake authored
information on defining new exceptions. This closes SF bug #443559.
-
Fred Drake authored
the source file using "in ?". Added a description of the bare "raise" statement. Added more description and examples for user-defined exceptions; this is part of a response to SF bug #443559.
-
Guido van Rossum authored
XXX This should really be a unified diff, but I can't be bothered.
-
Guido van Rossum authored
output *and* doctest stuff. Assuming the doctest stuff comes after the expected output, this fixes that.
-
Guido van Rossum authored
the first difference, let the test run till completion, then gather all the output and compare it to the expected output using difflib. XXX Still to do: produce diff output that only shows the sections that differ; currently it produces ndiff-style output because that's the easiest to produce with difflib, but this becomes a liability when the output is voluminous and there are only a few differences.
-
Guido van Rossum authored
classes to __getattribute__, to make it crystal-clear that it doesn't have the same semantics as overriding __getattr__ on classic classes. This is a halfway checkin -- I'll proceed to add a __getattr__ hook that works the way it works in classic classes.
-
Guido van Rossum authored
-
Guido van Rossum authored
-
Guido van Rossum authored
of \\.
-
Guido van Rossum authored
please let me know and we'll figure out how to fix the test.)
-
- 20 Sep, 2001 7 commits
-
-
Guido van Rossum authored
docstrings (using file.closed and file.name as examples).
-
Guido van Rossum authored
no backwards compatibility to worry about, so I just pushed the 'closure' struct member to the back -- it's never used in the current code base (I may eliminate it, but that's more work because the getter and setter signatures would have to change.) As examples, I added actual docstrings to the getset attributes of a few types: file.closed, xxsubtype.spamdict.state.
-
Guido van Rossum authored
-
Fred Drake authored
allows using the tests with unittest.py as a script. The tests will still run when run as a script themselves.
-
Guido van Rossum authored
compatibility, this required all places where an array of "struct memberlist" structures was declared that is referenced from a type's tp_members slot to change the type of the structure to PyMemberDef; "struct memberlist" is now only used by old code that still calls PyMember_Get/Set. The code in PyObject_GenericGetAttr/SetAttr now calls the new APIs PyMember_GetOne/SetOne, which take a PyMemberDef argument. As examples, I added actual docstrings to the attributes of a few types: file, complex, instance method, super, and xxsubtype.spamlist. Also converted the symtable to new style getattr.
-
Fred Drake authored
-
Tim Peters authored
"new in 2.2" blurb at the end. Replace open()'s text by pointing back to file().
-