homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncdave4life
Recipients ncdave4life, r.david.murray
Date 2012年03月22日.15:39:03
SpamBayes Score 0.0
Marked as misclassified No
Message-id <1332430744.6.0.41603542026.issue14367@psf.upfronthosting.co.za>
In-reply-to
Content
Well, the exception is NotImplementedError. It's raised explicitly in pygame\__init__.py
I uncommented my commented-out print statement in inspect.py, and added a traceback print, and ran pydoc like this:
c:\python32\python.exe c:\python32\Lib\pydoc.py -p 7464
The I viewed http://localhost:7464/pygame.html in a web browser, and the pydoc server printed:
Server ready at http://localhost:7464/
Server commands: [b]rowser, [q]uit
server> c:\python32\Lib\inspect.py:105: RuntimeWarning: use scrap: No module named scrap
(ImportError: No module named scrap)
 result = (hasattr(object, "__get__")
dbg: ismethoddescriptor(<pygame.MissingModule object at 0x03763F90>) failed, exception=NotImplementedError('scrap module not available\n(ImportError: No module named scrap)',)
Traceback (most recent call last):
 File "c:\python32\Lib\inspect.py", line 105, in ismethoddescriptor
 result = (hasattr(object, "__get__")
 File "c:\python32\lib\site-packages\pygame\__init__.py", line 74, in __getattr__
 raise NotImplementedError(MissingPygameModule)
NotImplementedError: scrap module not available
(ImportError: No module named scrap)
------------------------------------------------------------
c:\python32\Lib\inspect.py:105: RuntimeWarning: use sndarray: no module named numpy or Numeric found
(ImportError: no module named numpy or Numeric found)
 result = (hasattr(object, "__get__")
dbg: ismethoddescriptor(<pygame.MissingModule object at 0x0376EFF0>) failed, exception=NotImplementedError('sndarray module not available\n(ImportError: no module named numpy or Numeric found)',)
Traceback (most recent call last):
...(etc.)
Here's the modified ismethoddescriptor() in inspect.py:
def ismethoddescriptor(object):
 """Return true if the object is a method descriptor.
 But not if ismethod() or isclass() or isfunction() are true.
 This is new in Python 2.2, and, for example, is true of int.__add__.
 An object passing this test has a __get__ attribute but not a __set__
 attribute, but beyond that the set of attributes varies. __name__ is
 usually sensible, and __doc__ often is.
 Methods implemented via descriptors that also pass one of the other
 tests return false from the ismethoddescriptor() test, simply because
 the other tests promise more -- you can, e.g., count on having the
 __func__ attribute (etc) when an object passes ismethod()."""
 import traceback
 try:
 result = (hasattr(object, "__get__")
 and not hasattr(object, "__set__") # else it's a data descriptor
 and not ismethod(object) # mutual exclusion
 and not isfunction(object)
 and not isclass(object))
 except Exception as whichone:
 print('dbg: ismethoddescriptor('+repr(object)+') failed, exception='+repr(whichone))
 traceback.print_exc(file=sys.stdout)
 print("-"*60 + '\n')
 result = False
 return result
History
Date User Action Args
2012年03月22日 15:39:04ncdave4lifesetrecipients: + ncdave4life, r.david.murray
2012年03月22日 15:39:04ncdave4lifesetmessageid: <1332430744.6.0.41603542026.issue14367@psf.upfronthosting.co.za>
2012年03月22日 15:39:04ncdave4lifelinkissue14367 messages
2012年03月22日 15:39:03ncdave4lifecreate

AltStyle によって変換されたページ (->オリジナル) /