def frame_codeinfo(fframe, back=0):
 try:
  if (not fframe):
   return ('<unknown>', '')
  for i in range(back):
   fframe = fframe.f_back
  try:
   fname = getsourcefile(fframe)
  except TypeError:
   fname = '<builtin>'
  lineno = (fframe.f_lineno or '')
  return (fname, lineno)
 except Exception:
  return ('<unknown>', '')

def frame_codeinfo ( fframe , back = 0 ) : try : if ( not fframe ) : return ( '<unknown>' , '' ) for i in range ( back ) : fframe = fframe . f_back try : fname = getsourcefile ( fframe ) except TypeError : fname = '<builtin>' lineno = ( fframe . f_lineno or '' ) return ( fname , lineno ) except Exception : return ( '<unknown>' , '' )
return a pair for a previous frame .