How to get the filename in the right case ?
stef.mientki at gmail.com
Fri Sep 26 01:46:15 CEST 2008
Fredrik Lundh wrote:
> Stef Mientki wrote:
> > 1. I've a multitab editor.
> > 2. When a breakpoint is reached,
> > 3. I check if the file specified in pdb output, is already open in one
> > of the editor tabs,
> > 4. if not, I open a new tab with the correct file,
> > 5. I focus the correct editor tab and jump to the line specified by
> > pdb.
> > 6. After that I should be able to inspect the surrounding of the
> > breakpoint, so I need the modules name.
> > For 3 I need to compare filenames, the editor contains the case
> > sensitive name, pdb not.
> pdb uses os.path.abspath and os.path.normcase to normalize filenames
> so they can be safely compared (see the canonic method in bdb.py).
> I suggest you do the same in your editor; e.g:
Frederik thanks for the clarification.
I don't think your suggestion is a good one.
If a filename has uppercase characters in it,
the END-USER has done that for some kind of reason.
I as a programmer have to respect the arguments of the END-USER,
(whatever they are),
so I need to visualize the real filename.
Secondly thoughtless copying of current behavior, doesn't bring any
and I think that's one of the reasons why we're still burdened by
inventions done 20 years ago,
e.g. "do you want to save your changes ?".
> pdb_filename = ...
> for buffer in editor_buffers:
> filename = os.path.normcase(os.path.abspath(buffer.filename))
> if pdb == filename:
> ... found it ...
More information about the Python-list