560 # get module name from __file__ |
560 # get module name from __file__ |
561 fn = frame.f_globals.get('__file__') |
561 fn = frame.f_globals.get('__file__') |
562 try: |
562 try: |
563 return self._fnCache[fn] |
563 return self._fnCache[fn] |
564 except KeyError: |
564 except KeyError: |
565 if fn and fn != frame.f_code.co_filename: |
565 absFilename = os.path.abspath(fn) |
566 absFilename = os.path.abspath(fn) |
566 if absFilename.endswith(('.pyc', '.pyo')): |
567 if absFilename.endswith(('.pyc', '.pyo')): |
567 fixedName = absFilename[:-1] |
568 fixedName = absFilename[:-1] |
568 if not os.path.exists(fixedName): |
569 if not os.path.exists(fixedName): |
|
570 fixedName = absFilename |
|
571 else: |
|
572 fixedName = absFilename |
569 fixedName = absFilename |
573 else: |
570 else: |
574 fixedName = frame.f_code.co_filename |
571 fixedName = absFilename |
575 # update cache |
572 # update cache |
576 self._fnCache[fn] = fixedName |
573 self._fnCache[fn] = fixedName |
577 return fixedName |
574 return fixedName |
578 |
575 |
579 def __checkBreakInFrame(self, frame): |
576 def __checkBreakInFrame(self, frame): |