mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-25 17:40:31 +00:00
Fix for editing book cover with drive + fixed found bug that has_cover not set
This commit is contained in:
parent
dd38a2a0ba
commit
6ab8d0330a
@ -238,6 +238,32 @@ def copyToDrive(drive, uploadFile, createRoot, replaceFiles,
|
|||||||
driveFile.SetContentFile(os.path.join(prevDir,uploadFile))
|
driveFile.SetContentFile(os.path.join(prevDir,uploadFile))
|
||||||
driveFile.Upload()
|
driveFile.Upload()
|
||||||
|
|
||||||
|
def uploadFileToEbooksFolder(drive, destFile, f):
|
||||||
|
if not drive:
|
||||||
|
drive=getDrive()
|
||||||
|
if drive.auth.access_token_expired:
|
||||||
|
drive.auth.Refresh()
|
||||||
|
parent=getEbooksFolder(drive)
|
||||||
|
splitDir=destFile.split('/')
|
||||||
|
for i, x in enumerate(splitDir):
|
||||||
|
if i == len(splitDir)-1:
|
||||||
|
existingFiles=drive.ListFile({'q' : "title = '%s' and '%s' in parents and trashed = false" % (x, parent['id'])}).GetList()
|
||||||
|
if len(existingFiles) > 0:
|
||||||
|
driveFile=existingFiles[0]
|
||||||
|
else:
|
||||||
|
driveFile = drive.CreateFile({'title': x, 'parents' : [{"kind": "drive#fileLink", 'id' : parent['id']}], })
|
||||||
|
driveFile.SetContentFile(f)
|
||||||
|
driveFile.Upload()
|
||||||
|
else:
|
||||||
|
existingFolder=drive.ListFile({'q' : "title = '%s' and '%s' in parents and trashed = false" % (x, parent['id'])}).GetList()
|
||||||
|
if len(existingFolder) == 0:
|
||||||
|
parent = drive.CreateFile({'title': x, 'parents' : [{"kind": "drive#fileLink", 'id' : parent['id']}],
|
||||||
|
"mimeType": "application/vnd.google-apps.folder" })
|
||||||
|
parent.Upload()
|
||||||
|
else:
|
||||||
|
parent=existingFolder[0]
|
||||||
|
|
||||||
|
|
||||||
def watchChange(drive, channel_id, channel_type, channel_address,
|
def watchChange(drive, channel_id, channel_type, channel_address,
|
||||||
channel_token=None, expiration=None):
|
channel_token=None, expiration=None):
|
||||||
if not drive:
|
if not drive:
|
||||||
|
14
cps/web.py
14
cps/web.py
@ -2382,9 +2382,17 @@ def edit_book(book_id):
|
|||||||
|
|
||||||
if to_save["cover_url"] and os.path.splitext(to_save["cover_url"])[1].lower() == ".jpg":
|
if to_save["cover_url"] and os.path.splitext(to_save["cover_url"])[1].lower() == ".jpg":
|
||||||
img = requests.get(to_save["cover_url"])
|
img = requests.get(to_save["cover_url"])
|
||||||
f = open(os.path.join(config.config_calibre_dir, book.path, "cover.jpg"), "wb")
|
if config.config_use_google_drive:
|
||||||
f.write(img.content)
|
tmpDir=tempfile.gettempdir()
|
||||||
f.close()
|
f = open(os.path.join(tmpDir, "uploaded_cover.jpg"), "wb")
|
||||||
|
f.write(img.content)
|
||||||
|
f.close()
|
||||||
|
gdriveutils.uploadFileToEbooksFolder(Gdrive.Instance().drive, os.path.join(book.path, 'cover.jpg'), os.path.join(tmpDir, f.name))
|
||||||
|
else:
|
||||||
|
f = open(os.path.join(config.config_calibre_dir, book.path, "cover.jpg"), "wb")
|
||||||
|
f.write(img.content)
|
||||||
|
f.close()
|
||||||
|
book.has_cover=1
|
||||||
|
|
||||||
if book.series_index != to_save["series_index"]:
|
if book.series_index != to_save["series_index"]:
|
||||||
book.series_index = to_save["series_index"]
|
book.series_index = to_save["series_index"]
|
||||||
|
Loading…
Reference in New Issue
Block a user