Lines Matching refs:filename
5 def resolve(source, filename):
7 return _resolve_filename(source, filename)
13 if not filename:
14 filename = None
15 elif not isinstance(filename, str):
16 raise TypeError(f'filename should be str (or None), got {filename!r}')
18 filename, _ = _resolve_filename(filename)
19 return source, filename
23 def good_file(filename, alt=None):
24 if not _looks_like_filename(filename):
25 raise ValueError(f'expected a filename, got {filename}')
26 filename, _ = _resolve_filename(filename, alt)
28 yield filename
30 if not os.path.exists(filename):
31 raise FileNotFoundError(f'file not found: {filename}')
41 def _resolve_filename(filename, alt=None):
42 if os.path.isabs(filename):
46 filename = os.path.join('.', filename)
49 alt = filename
50 elif os.path.abspath(filename) == os.path.abspath(alt):
51 alt = filename
53 raise ValueError(f'mismatch: {filename} != {alt}')
54 return filename, alt
58 def opened(source, filename=None):
59 source, filename = resolve(source, filename)
62 yield srcfile, filename
64 yield source, filename