parent
b911796c15
commit
4cd6df86cf
1 changed files with 16 additions and 2 deletions
|
@ -1,7 +1,8 @@
|
|||
"""
|
||||
Various helpers for compression
|
||||
"""
|
||||
from pathlib import Path, PosixPath
|
||||
import pathlib
|
||||
from pathlib import Path
|
||||
from typing import Union
|
||||
|
||||
PathIsh = Union[Path, str]
|
||||
|
@ -33,8 +34,21 @@ def kopen(path: PathIsh, *args, **kwargs): # TODO is it bytes stream??
|
|||
return pp.open(*args, **kwargs)
|
||||
|
||||
|
||||
class CPath(PosixPath):
|
||||
import typing
|
||||
import os
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
# otherwise mypy can't figure out that BasePath is a type alias..
|
||||
BasePath = pathlib.Path
|
||||
else:
|
||||
BasePath = pathlib.WindowsPath if os.name == 'nt' else pathlib.PosixPath
|
||||
|
||||
|
||||
class CPath(BasePath):
|
||||
"""
|
||||
Hacky way to support compressed files.
|
||||
If you can think of a better way to do this, please let me know! https://github.com/karlicoss/HPI/issues/20
|
||||
|
||||
Ugh. So, can't override Path because of some _flavour thing.
|
||||
Path only has _accessor and _closed slots, so can't directly set .open method
|
||||
_accessor.open has to return file descriptor, doesn't work for compressed stuff.
|
||||
|
|
Loading…
Add table
Reference in a new issue