visualdynamics.io.sniffing¶
sniffing
¶
The checks every sniffer makes before it reads anything.
A sniffer answers "is this file one this importer reads?" and must never raise while answering: a file it cannot read is not its file, whatever the reason. The open and the exception handling for that are here, once, for every importer.
Functions:
| Name | Description |
|---|---|
text_head |
The first |
npz_has |
True when |
npz_summary |
A one-line description of what an |
describe |
What a file is, for an error message: |
Functions:¶
text_head
¶
The first size characters of a text file, or None when the file
cannot be read.
Undecodable bytes are replaced rather than raised, because a sniff judges the shape of the text, and one undecodable byte must not reject a file the loader would read.
Source code in src/visualdynamics/io/sniffing.py
npz_has
¶
True when path is an .npz holding every one of keys; False
for any other file, or one that cannot be read.
allow_pickle is the caller's choice: the Rattlesnake specification
is plain arrays and refuses pickles, while the sdynpy formats hold
object arrays.
Source code in src/visualdynamics/io/sniffing.py
npz_summary
¶
A one-line description of what an .npz holds (the number of
arrays and the first eight names), for an error that would otherwise
say only that no importer recognized it. None when the file is not
an .npz.
Source code in src/visualdynamics/io/sniffing.py
describe
¶
What a file is, for an error message: npz_summary for an .npz,
None for anything else.
An .npz is a container whose contents decide which reader takes it,
and an error that names only the path cannot tell the wrong file
from an unsupported one.