diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py
index 77332b826e..46861357e6 100644
--- a/src/calibre/ebooks/fb2/fb2ml.py
+++ b/src/calibre/ebooks/fb2/fb2ml.py
@@ -10,7 +10,9 @@ Transform OEB content into FB2 markup
from base64 import b64encode
from datetime import datetime
+from mimetypes import types_map
import re
+import uuid
from lxml import etree
@@ -19,7 +21,7 @@ from calibre.constants import __appname__, __version__
from calibre.ebooks.oeb.base import XHTML, XHTML_NS, barename, namespace
from calibre.ebooks.oeb.stylizer import Stylizer
from calibre.ebooks.oeb.base import OEB_RASTER_IMAGES
-from calibre.utils.magick.draw import save_cover_data_to
+from calibre.utils.magick import Image
class FB2MLizer(object):
'''
@@ -83,7 +85,8 @@ class FB2MLizer(object):
metadata['version'] = __version__
metadata['date'] = '%i.%i.%i' % (datetime.now().day, datetime.now().month, datetime.now().year)
metadata['lang'] = u''.join(self.oeb_book.metadata.lang) if self.oeb_book.metadata.lang else 'en'
-
+ metadata['id'] = '%s' % uuid.uuid4()
+
author_parts = self.oeb_book.metadata.creator[0].value.split(' ')
if len(author_parts) == 1:
metadata['author_last'] = author_parts[0]
@@ -118,7 +121,7 @@ class FB2MLizer(object):
'' \
'%(appname)s %(version)s' \
'%(date)s' \
- '1' \
+ '%(id)s' \
'1.0' \
'' \
'' % metadata
@@ -137,12 +140,21 @@ class FB2MLizer(object):
return ''.join(text) + '