Added automatic disk mounting

This commit is contained in:
2026-07-29 18:00:28 +01:00
parent 7c1e968a16
commit 2c34924504

33
main.py
View File

@@ -2,6 +2,7 @@ from functools import partial
import json
from pathlib import Path
from queue import Empty, Queue
import subprocess
from time import sleep
from typing import Literal
import pyudev
@@ -140,6 +141,29 @@ def findDiskNode(serial: str) -> str | None:
return None
def mountDisk(state: AppState) -> None:
node = findDiskNode(state.config.diskSerial)
try:
subprocess.run(
["mkdir", "-p", f"/mnt/{state.config.diskSerial}"],
check=True,
)
subprocess.run(
[
"mount",
f"{node}1",
f"/mnt/{state.config.diskSerial}",
"-o",
"uid=$UID",
],
check=True,
)
except subprocess.CalledProcessError:
pass
else:
state.diskState = "connected"
def main() -> None:
try:
state = AppState()
@@ -175,7 +199,14 @@ def main() -> None:
state.config.diskSerial = event.serial
saveConfig(state.config, Path("config.json"))
print(findDiskNode(state.config.diskSerial))
state.diskState = "connected"
mountDisk(state)
if (
state.diskState == "disconnected"
and event.event == "connected"
and event.serial == state.config.diskSerial
):
mountDisk(state)
except Empty:
sleep(1)