You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
716 B
27 lines
716 B
"""Filetype information.
|
|
"""
|
|
|
|
from typing import Tuple
|
|
|
|
from pip._internal.utils.misc import splitext
|
|
|
|
WHEEL_EXTENSION = ".whl"
|
|
BZ2_EXTENSIONS: Tuple[str, ...] = (".tar.bz2", ".tbz")
|
|
XZ_EXTENSIONS: Tuple[str, ...] = (
|
|
".tar.xz",
|
|
".txz",
|
|
".tlz",
|
|
".tar.lz",
|
|
".tar.lzma",
|
|
)
|
|
ZIP_EXTENSIONS: Tuple[str, ...] = (".zip", WHEEL_EXTENSION)
|
|
TAR_EXTENSIONS: Tuple[str, ...] = (".tar.gz", ".tgz", ".tar")
|
|
ARCHIVE_EXTENSIONS = ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS
|
|
|
|
|
|
def is_archive_file(name: str) -> bool:
|
|
"""Return True if `name` is a considered as an archive file."""
|
|
ext = splitext(name)[1].lower()
|
|
if ext in ARCHIVE_EXTENSIONS:
|
|
return True
|
|
return False
|
|
|