Source code for ssd.common

import re
from typing import Final

[docs] LBA_LOWER_LIMIT: Final[int] = 0
[docs] LBA_UPPER_LIMIT: Final[int] = 99
[docs] LBA_SIZE: Final[int] = LBA_UPPER_LIMIT - LBA_LOWER_LIMIT + 1
[docs] ERASE_SIZE_LOWER_LIMIT: Final[int] = 1
[docs] ERASE_SIZE_UPPER_LIMIT: Final[int] = 10
[docs] SSD_MIN_VALUE: Final[int] = 0x00000000
[docs] SSD_MAX_VALUE: Final[int] = 0xFFFFFFFF
[docs] def convert_hex_to_str(value: int) -> str: """ 정수 값을 8자리 16진수 문자열로 변환합니다. Args: value (int): 변환할 정수 값 Returns: str: 16진수 문자열 (예: '0x00000000') """ return f"0x{value:08X}"
[docs] def is_valid_hex(s: str) -> bool: """ 주어진 문자열이 유효한 16진수 형식인지 확인합니다. Args: s (str): 검사할 문자열 Returns: bool: 유효한 16진수 형식이면 True, 그렇지 않으면 False """ if re.fullmatch(r"0x[0-9A-Fa-f]{8}", s): try: num = int(s, 16) return SSD_MIN_VALUE <= num <= SSD_MAX_VALUE except ValueError: return False return False