Saimadhav Heblikar added the comment:

I have added a improved patch.
What this patch does:

1. resolves issue 1 of msg213193 - uses inspect. signature() instead of 
inspect.getargspec. 

2. resolves issue 2 of msg213193 - the module is imported only once per 
ClassBrowser instance.

3. resolves issue 2 of msg213333 - the classbrowser display is based on the 
current EditorWindow text and not based on whats on disk. All changes to 
reflect this have been made in ClassBrowser.py and pyclbr, therefore i did not 
create a new issue.

4. resolves issue 1 of msg213333 - though i feel there are better ways to do 
this than this patch - which manually close and create a new ClassBrowser 
instance


what this patch does NOT do:

1. the test_pyclbr fails after the proposed changes to pyclbr,(which is just 
adding a new keyword argument to _readmodule,readmodule_ex. i have circled it 
down to this.
the only other change to pyclbr is an extra "if" statement.)
i have tried to modify the tests to reflect the same, but to no avail. if you 
can give me some hints on how to move forward, i'll be quick to implement the 
tests.
here is the test error ->

test_decorators (test.test_pyclbr.PyclbrTest) ... *** B
FAIL
test_easy (test.test_pyclbr.PyclbrTest) ... ok
test_issue_14798 (test.test_pyclbr.PyclbrTest) ... ok
test_others (test.test_pyclbr.PyclbrTest) ... *** BytesHeaderParser
FAIL

======================================================================
FAIL: test_decorators (test.test_pyclbr.PyclbrTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/media/development/cpython/Lib/test/test_pyclbr.py", line 152, in 
test_decorators
    self.checkModule('test.pyclbr_input', ignore=['om'])
  File "/media/development/cpython/Lib/test/test_pyclbr.py", line 139, in 
checkModule
    self.assertHaskey(dict, name, ignore)
  File "/media/development/cpython/Lib/test/test_pyclbr.py", line 43, in 
assertHaskey
    self.assertIn(key, obj)
AssertionError: 'B' not found in {}

======================================================================
FAIL: test_others (test.test_pyclbr.PyclbrTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/media/development/cpython/Lib/test/test_pyclbr.py", line 167, in 
test_others
    cm('email.parser')
  File "/media/development/cpython/Lib/test/test_pyclbr.py", line 139, in 
checkModule
    self.assertHaskey(dict, name, ignore)
  File "/media/development/cpython/Lib/test/test_pyclbr.py", line 43, in 
assertHaskey
    self.assertIn(key, obj)
AssertionError: 'BytesHeaderParser' not found in {}

----------------------------------------------------------------------
Ran 4 tests in 15.437s

----------
Added file: http://bugs.python.org/file34439/classbrowser-improvements-v2.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20827>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to