[INIT] Init comit

This commit is contained in:
Maxim Romanko 2024-05-06 16:47:33 +03:00
commit 12c0563e36
3 changed files with 44 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
venv

43
main.py Normal file
View File

@ -0,0 +1,43 @@
import os
import platform
from typing import List
trusted_disk = {
"model": "",
"serial": ""
}
def mount(disk: Disk):
plist = disk.get_partition_list() # получаем все разделы на диске
for item in plist:
if item.get_fs_uuid() != "": # проверяем что раздел имеет uuid, если нет, то не монтируем его, так на нем нет файловой системы
os.mkdir(f"/mnt/{item.get_fs_uuid()}", mode=777) # создаем папку /mnt/uuid, так монтирует линукс, если не задан явный путь монтирования, тут надо придумать, как получить кто будет владельцем папки, пока разрешаем доступ всем
print(f"mount {item.get_path()} /mnt/{item.get_fs_uuid()}") # монтируем раздел в созданную папку
def unmount(disk: Disk):
plist = disk.get_partition_list()
for item in plist:
if item.get_fs_uuid() != "" and item.get_fs_mounting_point() != "": # проверяем, что есть фс и она смонтирована куда-то
print(f"umount {item.get_path()}") # размонтируем
def main():
di = DiskInfo()
disks: List[Disk] = di.get_disk_list(sorting=True)
for disk in disks:
if disk.get_model() == trusted_disk["model"] and disk.get_serial_number() == trusted_disk["serial"]: # тут проверки что диск доверенный чисто для примера
mount(disk)
else:
unmount(disk)
if __name__ == "__main__":
if platform.system() == "Linux":
from diskinfo import DiskInfo, Disk
main()
else:
print("This script can be run only on Linux system!")

BIN
req.txt Normal file

Binary file not shown.