diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py index 43f93807a1..d86a83e9b0 100644 --- a/src/calibre/ebooks/fb2/fb2ml.py +++ b/src/calibre/ebooks/fb2/fb2ml.py @@ -72,7 +72,7 @@ class FB2MLizer(object): def clean_text(self, text): # Condense empty paragraphs into a line break. - text = re.sub(r'(?miu)(
\s*
\s*){3,}', '\s*
\s*){3,}', '\s*
', '', text) # Clean up pargraph endings. @@ -101,9 +101,6 @@ class FB2MLizer(object): def fb2_header(self): metadata = {} - metadata['author_first'] = u'' - metadata['author_middle'] = u'' - metadata['author_last'] = u'' metadata['title'] = self.oeb_book.metadata.title[0].value metadata['appname'] = __appname__ metadata['version'] = __version__ @@ -115,16 +112,36 @@ class FB2MLizer(object): metadata['id'] = None metadata['cover'] = self.get_cover() - author_parts = self.oeb_book.metadata.creator[0].value.split(' ') - if len(author_parts) == 1: - metadata['author_last'] = author_parts[0] - elif len(author_parts) == 2: - metadata['author_first'] = author_parts[0] - metadata['author_last'] = author_parts[1] - else: - metadata['author_first'] = author_parts[0] - metadata['author_middle'] = ' '.join(author_parts[1:-2]) - metadata['author_last'] = author_parts[-1] + metadata['author'] = u'' + for auth in self.oeb_book.metadata.creator: + author_first = u'' + author_middle = u'' + author_last = u'' + author_parts = auth.value.split(' ') + if len(author_parts) == 1: + author_last = author_parts[0] + elif len(author_parts) == 2: + author_first = author_parts[0] + author_last = author_parts[1] + else: + author_first = author_parts[0] + author_middle = ' '.join(author_parts[1:-1]) + author_last = author_parts[-1] + metadata['author'] += '