1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 11:30:19 +01:00
Files
pygtktalog/deviceHelper.py
gryf 518e4658a7 * Check for mount point in fstab in every method.
* Changed return values in volmount method.
2006-11-26 10:59:57 +00:00

70 lines
1.6 KiB
Python

# This Python file uses the following encoding: utf-8
"""
device (cd, dvd) helper
"""
import string
import os
import popen2
from config import Config
c = Config()
def volname(mntp):
"""read volume name from cd/dvd"""
dev = mountpoint_to_dev(mntp)
if dev != None:
try:
a = open(dev,"rb")
a.seek(32808)
b = a.read(32).strip()
a.close()
except:
return None
return b
return None
def volmount(mntp):
"""mount device, return True/False"""
dev = mountpoint_to_dev(mntp)
if dev != None:
_in,_out,_err = popen2.popen3("mount %s" % dev)
inf = _err.readlines()
for i in inf:
i.strip()
if check_mount(dev):
return 'ok'
else:
return i.strip()
return "Mount point does'nt exist in fstab"
def check_mount(dev):
"""Refresh the entries from fstab or mount."""
mounts = os.popen('mount')
for line in mounts.readlines():
parts = line.split()
device, txt1, mount_point, txt2, filesystem, options = parts
if device == dev:
return True
return False
def mountpoint_to_dev(mntp):
"""guess mountpoint from fstab"""
fstab = open("/etc/fstab")
for line in fstab.readlines():
a = line.split()
try:
if a[1] == mntp and a[0][0] != '#':
fstab.close()
return a[0]
except:
pass
fstab.close()
return None
def eject_cd():
if len(c.confd['eject']) > 0:
os.popen("%s %s" %(c.confd['eject'],c.confd['cd']))