Open (if necessary) filename
(fname # type: ignore
)
| 2712 | |
| 2713 | @staticmethod |
| 2714 | def open(fname # type: ignore |
| 2715 | ): |
| 2716 | # type: (...) -> Tuple[str, _ByteStream] |
| 2717 | """Open (if necessary) filename""" |
| 2718 | if isinstance(fname, str): |
| 2719 | filename = fname |
| 2720 | try: |
| 2721 | with gzip.open(filename, "rb") as tmp: |
| 2722 | tmp.read(1) |
| 2723 | fdesc = gzip.open(filename, "rb") # type: _ByteStream |
| 2724 | except IOError: |
| 2725 | fdesc = open(filename, "rb") |
| 2726 | |
| 2727 | else: |
| 2728 | fdesc = fname |
| 2729 | filename = getattr(fdesc, "name", "No name") |
| 2730 | return filename, fdesc |
| 2731 | |
| 2732 | |
| 2733 | class ERFEthernetReader(PcapReader, |