diff --git a/src/calibre/devices/prs500/driver.py b/src/calibre/devices/prs500/driver.py index cb7cd715fd..0e9bb58f3e 100644 --- a/src/calibre/devices/prs500/driver.py +++ b/src/calibre/devices/prs500/driver.py @@ -865,7 +865,7 @@ class PRS500(DeviceConfig, DevicePlugin): size = sum(sizes) space = self.free_space(end_session=False) mspace = space[0] - cspace = space[1] if space[1] >= space[2] else space[2] + cspace = space[2] if len(space) > 2 and space[2] >= space[1] else space[1] if on_card and size > cspace - 1024*1024: raise FreeSpaceError("There is insufficient free space "+\ "on the storage card") diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index e25dfc7870..b2d318b981 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -216,6 +216,12 @@ class LocationModel(QAbstractListModel): return NONE def update_devices(self, cp=(None, None), fs=[-1, -1, -1]): + if cp is None: + cp = (None, None) + if isinstance(cp, (str, unicode)): + cp = (cp, None) + if len(fs) < 3: + fs = list(fs) + [0] self.free[0] = fs[0] self.free[1] = fs[1] self.free[2] = fs[2]