'This method is a call-back function used by DecryptAddProgressDialog in dialogs.py to add books to calibre
(It\'s set up to handle multiple books, but will only be fed books one at a time by DecryptAddProgressDialog)
:param books_to_add: List of calibre bookmaps (created in get_decrypted_kobo_books)'

def add_new_books(self, books_to_add):

    added = self.db.add_books(books_to_add, add_duplicates=False, run_hooks=False)
    if len(added[0]):
        for id in added[0]:
            print(_(u'{0}    -    Added    {1}').format(((PLUGIN_NAME + u'    v') + PLUGIN_VERSION), books_to_add[0][0].title))
            self.ids_of_new_books.append((id, books_to_add[0][0]))
    if len(added[1]):
        for (mi, map) in added[1]:
            print(_(u'{0}    -    {1}    already    exists.    Will    try    to    add    format    later.').format(((PLUGIN_NAME + u'    v') + PLUGIN_VERSION), mi.title))
            self.duplicate_book_list.append((mi, map[u'EPUB'], _(u'duplicate    detected')))
        return False
    return True
