Skip to content

Commit

Permalink
Add type hints to the Compress module
Browse files Browse the repository at this point in the history
  • Loading branch information
dcermak committed Jul 24, 2023
1 parent 1eb38c4 commit 107d265
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 15 deletions.
3 changes: 1 addition & 2 deletions kiwi/boot/image/builtin_kiwi.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,9 @@ def create_initrd(
compress = Compress(
os.sep.join([self.target_dir, kiwi_initrd_basename])
)
compress.xz(
self.initrd_filename = compress.xz(
['--check=crc32', '--lzma2=dict=1MiB', '--threads=0']
)
self.initrd_filename = compress.compressed_filename

def cleanup(self) -> None:
for directory in self.temp_directories:
Expand Down
3 changes: 1 addition & 2 deletions kiwi/builder/kis.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,7 @@ def create(self) -> Result:
if self.compressed:
log.info('xz compressing root filesystem image')
compress = Compress(self.image)
compress.xz(self.xz_options)
self.image = compress.compressed_filename
self.image = compress.xz(self.xz_options)

log.info('Creating root filesystem MD5 checksum')
checksum = Checksum(self.image)
Expand Down
3 changes: 1 addition & 2 deletions kiwi/container/appx.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ def create(
)
if compress_archive:
compress = Compress(filename)
compress.xz(self.runtime_config.get_xz_options())
filename = compress.compressed_filename
filename = compress.xz(self.runtime_config.get_xz_options())

return filename
3 changes: 1 addition & 2 deletions kiwi/container/oci.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,7 @@ def create(
)
if compress_archive:
compress = Compress(filename)
compress.xz(RuntimeConfig().get_xz_options())
filename = compress.compressed_filename
filename = compress.xz(RuntimeConfig().get_xz_options())

return filename

Expand Down
17 changes: 10 additions & 7 deletions kiwi/utils/compress.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#
import os
import logging
from typing import List, Optional

# project
from kiwi.utils.temporary import Temporary
Expand All @@ -43,7 +44,7 @@ class Compress:
:param str uncompressed_filename:
Uncompressed file name path
"""
def __init__(self, source_filename, keep_source_on_compress=False):
def __init__(self, source_filename: str, keep_source_on_compress: bool=False) -> None:
if not os.path.exists(source_filename):
raise KiwiFileNotFound(
'compression source file %s not found' % source_filename
Expand All @@ -53,17 +54,18 @@ def __init__(self, source_filename, keep_source_on_compress=False):
self.supported_zipper = [
'xz', 'gzip'
]
self.compressed_filename = None
self.uncompressed_filename = None
self.compressed_filename: Optional[str] = None
self.uncompressed_filename: Optional[str] = None

def xz(self, options=None):
def xz(self, options: Optional[List[str]]=None) -> str:
"""
Create XZ compressed file
:param list options: custom xz compression options
"""
if not options:
options = Defaults.get_xz_compression_options()
assert options
if self.keep_source:
options.append('--keep')
Command.run(
Expand All @@ -72,7 +74,7 @@ def xz(self, options=None):
self.compressed_filename = self.source_filename + '.xz'
return self.compressed_filename

def gzip(self):
def gzip(self) -> str:
"""
Create gzip(max compression) compressed file
"""
Expand All @@ -87,7 +89,7 @@ def gzip(self):
self.compressed_filename = self.source_filename + '.gz'
return self.compressed_filename

def uncompress(self, temporary=False):
def uncompress(self, temporary: bool=False) -> str:
"""
Uncompress with format autodetection
Expand Down Expand Up @@ -116,7 +118,7 @@ def uncompress(self, temporary=False):
self.uncompressed_filename = self.temp_file.name
return self.uncompressed_filename

def get_format(self):
def get_format(self) -> Optional[str]:
"""
Detect compression format
Expand All @@ -138,3 +140,4 @@ def get_format(self):
exc=str(exc)
)
)
return None

0 comments on commit 107d265

Please sign in to comment.