File tree Expand file tree Collapse file tree 4 files changed +14
-3
lines changed Expand file tree Collapse file tree 4 files changed +14
-3
lines changed Original file line number Diff line number Diff line change 1+ from .errors import UnavailableCompression
2+
3+ __all__ = ["UnavailableCompression" ]
Original file line number Diff line number Diff line change 1+ class UnavailableCompression (Exception ):
2+ pass
Original file line number Diff line number Diff line change 55from zenlib .util import get_kwargs
66
77from pycpio import PyCPIO
8+ from pycpio .errors import UnavailableCompression
89
910
1011def main ():
@@ -76,7 +77,11 @@ def main():
7677
7778 if output_file := kwargs .get ("output" ):
7879 compression = kwargs .get ("compress" )
79- c .write_cpio_file (Path (output_file ), compression = compression )
80+ try :
81+ c .write_cpio_file (Path (output_file ), compression = compression )
82+ except UnavailableCompression as e :
83+ c .logger .critical (e )
84+ exit (1 )
8085
8186 if kwargs .get ("list" ):
8287 print (c .list_files ())
Original file line number Diff line number Diff line change 33from pathlib import Path
44
55from pycpio .header import HEADER_NEW , CPIOHeader
6+ from pycpio .errors import UnavailableCompression
67from zenlib .logging import loggify
78from zenlib .util import colorize
89
@@ -61,7 +62,7 @@ def compress(self, data):
6162 compression_module = "zstd.compress"
6263 compression_args = (self .compression_level ,)
6364 elif self .compression is not False :
64- raise NotImplementedError ("Compression type not supported: %s" % self .compression )
65+ raise UnavailableCompression ("Compression type not supported: %s" % self .compression )
6566 else :
6667 self .logger .info ("No compression specified, writing uncompressed data." )
6768 return data
@@ -75,7 +76,7 @@ def compress(self, data):
7576 compressor = getattr (__import__ (module ), func )
7677 self .logger .debug ("Compressing data with: %s" % compression_module )
7778 except ImportError as e :
78- raise ImportError ("Failed to import compression module: %s" % compression_module ) from e
79+ raise UnavailableCompression ("Failed to import compression module: %s" % compression_module ) from e
7980
8081 self .logger .info (
8182 "[%s] Compressing the CPIO data, original size: %.2f MiB" % (self .compression .upper (), len (data ) / (2 ** 20 ))
You can’t perform that action at this time.
0 commit comments