diff --git a/src/calibre/gui2/tools.py b/src/calibre/gui2/tools.py index 6525000781..90686f7d86 100644 --- a/src/calibre/gui2/tools.py +++ b/src/calibre/gui2/tools.py @@ -252,17 +252,20 @@ def generate_catalog(parent, dbspec, ids, device): # Parallel initialization in calibre.library.cli:command_catalog() connected_device = { 'storage':None,'serial':None,'name':None} if device: - storage = [] - if device._main_prefix: - storage.append(os.path.join(device._main_prefix, device.EBOOK_DIR_MAIN)) - if device._card_a_prefix: - storage.append(os.path.join(device._card_a_prefix, device.EBOOK_DIR_CARD_A)) - if device._card_b_prefix: - storage.append(os.path.join(device._card_b_prefix, device.EBOOK_DIR_CARD_B)) - connected_device = {'storage': storage, - 'serial': device.detected_device.serial if \ - hasattr(device.detected_device,'serial') else None, - 'name': device.gui_name} + try: + storage = [] + if device._main_prefix: + storage.append(os.path.join(device._main_prefix, device.EBOOK_DIR_MAIN)) + if device._card_a_prefix: + storage.append(os.path.join(device._card_a_prefix, device.EBOOK_DIR_CARD_A)) + if device._card_b_prefix: + storage.append(os.path.join(device._card_b_prefix, device.EBOOK_DIR_CARD_B)) + connected_device = {'storage': storage, + 'serial': device.detected_device.serial if \ + hasattr(device.detected_device,'serial') else None, + 'name': device.gui_name} + except: + pass # These args are passed inline to gui2.convert.gui_conversion:gui_catalog args = [ diff --git a/src/calibre/utils/date.py b/src/calibre/utils/date.py index 6f19ad7dd9..8b26ab02bc 100644 --- a/src/calibre/utils/date.py +++ b/src/calibre/utils/date.py @@ -43,7 +43,7 @@ def strptime(val, fmt, assume_utc=False, as_utc=True): return dt.astimezone(_utc_tz if as_utc else _local_tz) def dt_factory(time_t, assume_utc=False, as_utc=True): - dt = datetime(time_t[0:6]) + dt = datetime(*(time_t[0:6])) if dt.tzinfo is None: dt = dt.replace(tzinfo=_utc_tz if assume_utc else _local_tz) return dt.astimezone(_utc_tz if as_utc else _local_tz)