aboutsummaryrefslogtreecommitdiffstats
path: root/atk16-utils/pad_bin.py
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2024-02-21 12:07:07 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2024-02-21 12:07:07 +0200
commit927c018f12e73c254cec32c0f60e1c01b9fc0319 (patch)
tree21fbb975e3567cb0d9ab3fb34519c50325571d6c /atk16-utils/pad_bin.py
parenta0b4a1a6107e4dc905b21858d8ac76c47293cfb4 (diff)
Refactor names
Diffstat (limited to 'atk16-utils/pad_bin.py')
-rw-r--r--atk16-utils/pad_bin.py59
1 files changed, 0 insertions, 59 deletions
diff --git a/atk16-utils/pad_bin.py b/atk16-utils/pad_bin.py
deleted file mode 100644
index 9f014d1..0000000
--- a/atk16-utils/pad_bin.py
+++ /dev/null
@@ -1,59 +0,0 @@
-import os
-
-def pad_binary(file_path, target_size) -> int:
- """
- Pads a binary file with zeros until it reaches a specified size in KiB.
-
- :param file_path: Path to the binary file to be padded.
- :param target_size: Target size in bytes.
- """
-
- # Check current file size
- current_size = os.path.getsize(file_path)
-
- # Calculate needed padding
- padding_size = target_size - current_size
-
- # Append zeros if needed
- if padding_size > 0:
- with open(file_path, 'ab') as file:
- file.write(b'\x00' * padding_size)
-
- return padding_size
-
-def convert_size_to_bytes(size_str: str) -> int:
- """
- Converts a size string with K, M, or G suffix to bytes.
-
- :param size_str: Size string (e.g., "64K", "1M", "2G").
- :return: Size in bytes.
- """
- size_str = size_str.upper()
- if size_str.endswith('K'):
- return int(size_str[:-1]) * 1024
- elif size_str.endswith('M'):
- return int(size_str[:-1]) * 1024 ** 2
- elif size_str.endswith('G'):
- return int(size_str[:-1]) * 1024 ** 3
- else:
- return int(size_str)
-
-if __name__ == "__main__":
- import argparse
-
- # Setup argument parser
- parser = argparse.ArgumentParser(description='Pad a binary file with zeros until it reaches a specified size.')
- parser.add_argument('file', type=str, help='Path to the binary file to be padded.')
- parser.add_argument('--to', dest='size', type=str, help='Target size (e.g., 64K, 1M, 2G).', required=True)
-
- args = parser.parse_args()
-
- # Convert size argument to bytes
- target_size_bytes = convert_size_to_bytes(args.size)
-
- padded_bytes_n = pad_binary(args.file, target_size_bytes)
-
- if padded_bytes_n > 0:
- print(f"File has been padded with {padded_bytes_n} zeros.")
- else:
- print("File is already equal to or larger than the target size. No padding added.")