Add methods set_authors, set_titles.

This commit is contained in:
voussoir 2026-08-02 00:49:39 -07:00
parent e656432802
commit 27417a4458

View file

@ -952,6 +952,17 @@ class Epub:
refines.extract()
meta.extract()
@writes
def set_authors(self, authors):
'''
A list like ['William Shakespeare', 'Benjamin Franklin'].
'''
self.remove_metadata_of_type('dc:creator')
for author in authors:
element = f'<dc:creator>{author}</dc:creator>'
element = bs4.BeautifulSoup(element, 'html.parser')
self.opf.metadata.append(element)
@writes
def set_languages(self, languages):
'''
@ -963,6 +974,17 @@ class Epub:
element = bs4.BeautifulSoup(element, 'html.parser')
self.opf.metadata.append(element)
@writes
def set_titles(self, titles):
'''
A list like ['My Book', 'Mon livre', '나의 책'].
'''
self.remove_metadata_of_type('dc:title')
for title in titles:
element = f'<dc:title>{title}</dc:title>'
element = bs4.BeautifulSoup(element, 'html.parser')
self.opf.metadata.append(element)
# UTILITIES
############################################################################
@writes