diff --git a/resources/images/star.png b/resources/images/star.png
new file mode 100644
index 0000000000..6eb1fb890f
Binary files /dev/null and b/resources/images/star.png differ
diff --git a/src/calibre/ebooks/oeb/transforms/jacket.py b/src/calibre/ebooks/oeb/transforms/jacket.py
index 21ba47f60e..40d7ce33f4 100644
--- a/src/calibre/ebooks/oeb/transforms/jacket.py
+++ b/src/calibre/ebooks/oeb/transforms/jacket.py
@@ -8,6 +8,7 @@ __docformat__ = 'restructuredtext en'
import textwrap
from xml.sax.saxutils import escape
+from itertools import repeat
from lxml import etree
@@ -31,6 +32,7 @@ class Jacket(object):
@@ -54,6 +56,23 @@ class Jacket(object):
img.getparent().remove(img)
return
+ def get_rating(self, rating):
+ ans = ''
+ if rating is None:
+ return
+ try:
+ num = float(rating)/2
+ except:
+ return ans
+ num = max(0, num)
+ num = min(num, 5)
+ if num < 1:
+ return ans
+ id, href = self.oeb.manifest.generate('star', 'star.png')
+ self.oeb.manifest.add(id, href, 'image/png', data=I('star.png', data=True))
+ ans = 'Rating: ' + ''.join(repeat('

'%href, num))
+ return ans
+
def insert_metadata(self, mi):
self.log('Inserting metadata into book...')
comments = mi.comments
@@ -87,7 +106,7 @@ class Jacket(object):
html = self.JACKET_TEMPLATE%dict(xmlns=XPNSMAP['h'],
title=escape(title), comments=escape(comments),
jacket=escape(_('Book Jacket')), series=series,
- tags=tags)
+ tags=tags, rating=self.get_rating(mi.rating))
id, href = self.oeb.manifest.generate('jacket', 'jacket.xhtml')
root = etree.fromstring(html)
item = self.oeb.manifest.add(id, href, guess_type(href)[0], data=root)