diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index 5cdf03888a..bc0eeea3a2 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -326,7 +326,7 @@ def walk(dir): yield os.path.join(record[0], f) def strftime(fmt, t=None): - ''' A version of strtime that returns unicode strings and tries to handle dates + ''' A version of strftime that returns unicode strings and tries to handle dates before 1900 ''' if t is None: t = time.localtime() diff --git a/src/calibre/library/server.py b/src/calibre/library/server.py index c935b9a0a0..5d96cae511 100644 --- a/src/calibre/library/server.py +++ b/src/calibre/library/server.py @@ -23,7 +23,8 @@ except ImportError: from calibre.constants import __version__, __appname__ from calibre.utils.genshi.template import MarkupTemplate -from calibre import fit_image, guess_type, prepare_string_for_xml +from calibre import fit_image, guess_type, prepare_string_for_xml, \ + strftime as _strftime from calibre.resources import jquery, server_resources, build_time from calibre.library import server_config as config from calibre.library.database2 import LibraryDatabase2, FIELD_MAP @@ -35,6 +36,15 @@ from calibre.ebooks.metadata import fmt_sidx build_time = datetime.strptime(build_time, '%d %m %Y %H%M%S') server_resources['jquery.js'] = jquery +def strftime(fmt='%Y/%m/%d %H:%M:%S', dt=None): + if not hasattr(dt, 'timetuple'): + dt = datetime.now() + dt = dt.timetuple() + try: + return _strftime(fmt, dt) + except: + return _strftime(fmt, datetime.now().timetuple()) + def expose(func): def do(self, *args, **kwargs): @@ -59,7 +69,8 @@ class LibraryServer(object): author_sort="${r[12]}" authors="${authors}" rating="${r[4]}" - timestamp="${r[5].strftime('%Y/%m/%d %H:%M:%S')}" + timestamp="${timestamp}" + pubdate="${pubdate}" size="${r[6]}" isbn="${r[14] if r[14] else ''}" formats="${r[13] if r[13] else ''}" @@ -84,7 +95,7 @@ class LibraryServer(object):