def getfslineno(obj):
 import _pytest._code
 try:
  code = _pytest._code.Code(obj)
 except TypeError:
  try:
   fn = (py.std.inspect.getsourcefile(obj) or py.std.inspect.getfile(obj))
  except TypeError:
   return ('', (-1))
  fspath = ((fn and py.path.local(fn)) or None)
  lineno = (-1)
  if fspath:
   try:
    (_, lineno) = findsource(obj)
   except IOError:
    pass
 else:
  fspath = code.path
  lineno = code.firstlineno
 assert isinstance(lineno, int)
 return (fspath, lineno)

def getfslineno ( obj ) : import _pytest . _code try : code = _pytest . _code . Code ( obj ) except TypeError : try : fn = ( py . std . inspect . getsourcefile ( obj ) or py . std . inspect . getfile ( obj ) ) except TypeError : return ( '' , ( - 1 ) ) fspath = ( ( fn and py . path . local ( fn ) ) or None ) lineno = ( - 1 ) if fspath : try : ( _ , lineno ) = findsource ( obj ) except IOError : pass else : fspath = code . path lineno = code . firstlineno assert isinstance ( lineno , int ) return ( fspath , lineno )
return source location for the given object .