mirror of
https://gitlvb.teallvbs.xyz/IQ.Lvbs/IQ.Pilot.git
synced 2026-04-06 05:13:54 +08:00
37 lines
818 B
Python
37 lines
818 B
Python
"""
|
|
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos
|
|
"""
|
|
|
|
from enum import IntEnum
|
|
import hashlib
|
|
|
|
PARAMS_UPDATE_PERIOD = 3 # seconds
|
|
|
|
|
|
def get_file_hash(path: str) -> str:
|
|
sha256_hash = hashlib.sha256()
|
|
with open(path, "rb") as f:
|
|
for byte_block in iter(lambda: f.read(4096), b""):
|
|
sha256_hash.update(byte_block)
|
|
return sha256_hash.hexdigest()
|
|
|
|
|
|
class IntEnumBase(IntEnum):
|
|
@classmethod
|
|
def min(cls):
|
|
return min(cls)
|
|
|
|
@classmethod
|
|
def max(cls):
|
|
return max(cls)
|
|
|
|
|
|
def get_sanitize_int_param(key: str, min_val: int, max_val: int, params) -> int:
|
|
val: int = params.get(key, return_default=True)
|
|
clipped_val = max(min_val, min(max_val, val))
|
|
|
|
if clipped_val != val:
|
|
params.put(key, clipped_val)
|
|
|
|
return clipped_val
|