From 21b058c3e9b0511e21b993cb6238ead1525951aa Mon Sep 17 00:00:00 2001 From: Didier Date: Sat, 11 Jun 2022 16:01:39 +0000 Subject: [PATCH] testing --- INSTALL.md | 12 ++++++++-- tests/detect-usb.py | 54 +++++++++++++++++++++++++++++++++++---------- tests/screen.py | 2 +- 3 files changed, 53 insertions(+), 15 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 494e60d..9939446 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -4,10 +4,18 @@ Pandora-BOX Pandorabox is a USB scaning station base on Pandora +Mouse terminal +--------------- +sudo apt install gpm + +Uner mount device +--------------- +sudo apt install pmount + + Python ------ -pip install glib pyudev - +pip install psutil pyudev Progress Bar ------------ diff --git a/tests/detect-usb.py b/tests/detect-usb.py index 7fd9b36..8433fef 100755 --- a/tests/detect-usb.py +++ b/tests/detect-usb.py @@ -3,32 +3,62 @@ import pyudev import psutil import time +import os context = pyudev.Context() monitor = pyudev.Monitor.from_netlink(context) monitor.filter_by('block') +autoMount=False + +def printInfo(dev): + print('') + print('') + print('Device name: %s' % dev.get('DEVNAME')) + print('Device type: %s' % dev.get('DEVTYPE')) + print('Bus system: %s' % dev.get('ID_BUS')) + print('Partition label: %s' % dev.get('ID_FS_LABEL')) + print('FS: %s' % dev.get('ID_FS_SYSTEM_ID')) + print('FS type: %s' % dev.get('ID_FS_TYPE')) + print('Device usage: %s' % dev.get('ID_FS_USAGE')) + print('Device model: %s' % dev.get('ID_MODEL')) + print('Partition type: %s' % dev.get('ID_PART_TABLE_TYPE')) + print('USB driver: %s' % dev.get('ID_USB_DRIVER')) + print('Path id: %s' % dev.get('ID_PATH')) + #print('Capacity: %s' % stdOut[0].strip()) + print('') + # enumerate at device connection for device in iter(monitor.poll, None): if 'ID_FS_TYPE' in device: if device.action == 'add': - if device.device_node[5:7] == 'sd': + if device.device_node[5:7] == 'sd' and device.get('DEVTYPE')=='partition': + printInfo(device) print("New device {}".format(device.device_node)) # loop until device is mounted - found=False - loop=0 - while (not found) and (loop<10): - # need to sleep before devide is mounted - time.sleep(1) - for partition in psutil.disk_partitions(): - if partition.device == device.device_node: - print("Mounted at {}".format(partition.mountpoint)) - found=True - loop+=1 + if autoMount: + found=False + loop=0 + while (not found) and (loop<10): + # need to sleep before devide is mounted + time.sleep(1) + for partition in psutil.disk_partitions(): + if partition.device == device.device_node: + print("Mounted at {}".format(partition.mountpoint)) + found=True + loop+=1 + else: + print("mount device to /media/box") + res=os.system("pmount "+device.device_node+" box") + print("Return type: ", res) if device.action == 'remove': - if device.device_node[5:7] == 'sd': + if device.device_node[5:7] == 'sd' and device.get('DEVTYPE')=='partition': print('Device removed') + if not autoMount: + res = os.system("pumount /media/box") + print("Return type: ", res) + diff --git a/tests/screen.py b/tests/screen.py index f346a26..92b1a5c 100755 --- a/tests/screen.py +++ b/tests/screen.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 import curses