From 58bf0140a7350d7884c9fdf9b640ef16c836bc2b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 3 Jun 2009 19:03:53 -0700 Subject: [PATCH] A proper fix for the mangling in /proc/mounts --- src/calibre/devices/usbms/device.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index f8136c307e..a48d71edd2 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -376,13 +376,14 @@ class Device(DeviceConfig, DevicePlugin): def node_mountpoint(self, node): - def de_octal(raw): - return re.sub(r'\\0\d+', lambda m: chr(int(m.group()[1:], 8)), raw) + def de_mangle(raw): + return raw.replace('\\040', ' ').replace('\\011', '\t').replace('\\012', + '\n').replace('\\0134', '\\') for line in open('/proc/mounts').readlines(): line = line.split() if line[0] == node: - return de_octal(line[1]) + return de_mangle(line[1]) return None def find_largest_partition(self, path):