7 return open(fn, "r").read()
9 def getLabelFromDevName(dev_kernel):
10 for label in glob.glob("/dev/disk/by-label/*"):
11 realPath = os.path.realpath(label)
12 if realPath == dev_kernel:
13 return os.path.basename(label)
16 def getModel(dev_base):
18 modelpath = "/sys/block/%s/device/model" % dev_base
19 if os.access(modelpath, os.F_OK):
20 model = open(modelpath, "r").read().strip().replace(' ','-')
23 def isMountedByDevName(devName):
25 mounts = file('/proc/mounts').read().split('\n')
27 if not x.startswith('/'):
30 devpath, mountpoint = x.split()[:2]
31 if devpath == devName:
37 def isUsbDevice(dev_base):
38 phyPath = os.path.realpath('/sys/block/' + dev_base)
39 for x in glob.glob("/sys/bus/usb/devices/usb*"):
40 if phyPath.find(os.path.realpath(x)) != -1:
46 dev_kernel = os.path.join("/dev/", kernel)
47 dev_index = os.path.basename(kernel)[-1]
48 dev_base = os.path.basename(kernel)[:-1]
49 removable=readFile("/sys/block/%s/removable" % dev_base).strip() == "1"
50 dev_real_path = os.path.realpath("/sys/block/%s/device" % dev_base)
52 if isMountedByDevName(dev_kernel):
57 usbDevice = removable or isUsbDevice(dev_base)
59 mountPoint = "/media/hdd"
61 if (mountPoint == None) or (os.path.ismount(mountPoint)):
62 label = getLabelFromDevName(dev_kernel)
64 mountPoint = "/media/" + label
65 if dev_index and dev_index != '1':
66 mountPoint += "_%s" % dev_index
68 if (mountPoint == None) or (os.path.ismount(mountPoint)):
69 model = getModel(dev_base)
71 mountPoint = "/media/" + model
72 if dev_index and dev_index != '1':
73 mountPoint += "_%s" % dev_index
75 if (mountPoint == None) or (os.path.ismount(mountPoint)):
76 mountPoint = "/media/" + kernel
78 if not os.access(mountPoint, os.F_OK):
80 if not os.access(mountPoint, os.F_OK):
83 if os.system("mount -t auto -o noatime %s %s" % (dev_kernel, mountPoint)):
86 if mountPoint == "/media/hdd":
87 defaultMoviePath = "/media/hdd/movie"
88 if not os.access(defaultMoviePath, os.F_OK):
89 os.mkdir(defaultMoviePath)
91 if __name__=="__main__":