'Upload book cover to the device. Default implementation does nothing.
:param path: The full path to the directory where the associated book is located.
:param filename: The name of the book file without the extension.
:param metadata: metadata belonging to the book. Use metadata.thumbnail
for cover
:param filepath: The full path to the ebook file'

def upload_cover(self, path, filename, metadata, filepath):

    debug_print(("KoboTouch:upload_cover    -    path='%s'    filename='%s'    " % (path, filename)))
    debug_print(("                                filepath='%s'    " % filepath))
    if (not self.upload_covers):
        return
    if (self._card_a_prefix and os.path.abspath(path).startswith(os.path.abspath(self._card_a_prefix)) and (not self.supports_covers_on_sdcard())):
        return
    try:
        self._upload_cover(path, filename, metadata, filepath, self.upload_grayscale, self.keep_cover_aspect)
    except Exception as e:
        debug_print(('KoboTouch:    FAILED    to    upload    cover=%s    Exception=%s' % (filepath, str(e))))
