From 2975292f27c346aeef7083743e130282c57bdee3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 30 Dec 2012 08:39:32 +0530 Subject: [PATCH] Fix #1094597 (OverflowError: date value out of range) --- src/calibre/gui2/library/models.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 8cd84bdafc..891b775448 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -5,7 +5,7 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import functools, re, os, traceback, errno +import functools, re, os, traceback, errno, time from collections import defaultdict from PyQt4.Qt import (QAbstractTableModel, Qt, pyqtSignal, QIcon, QImage, @@ -1419,7 +1419,11 @@ class DeviceBooksModel(BooksModel): # {{{ return QVariant(human_readable(size)) elif cname == 'timestamp': dt = self.db[self.map[row]].datetime - dt = dt_factory(dt, assume_utc=True, as_utc=False) + try: + dt = dt_factory(dt, assume_utc=True, as_utc=False) + except OverflowError: + dt = dt_factory(time.gmtime(), assume_utc=True, + as_utc=False) return QVariant(strftime(TIME_FMT, dt.timetuple())) elif cname == 'collections': tags = self.db[self.map[row]].device_collections