mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-30 03:50:31 +00:00
Fix after testrun for G-Drive
This commit is contained in:
parent
762074596d
commit
60dd3df861
@ -64,7 +64,7 @@ except ImportError as err:
|
|||||||
importError = err
|
importError = err
|
||||||
gdrive_support = False
|
gdrive_support = False
|
||||||
|
|
||||||
from . import logger, cli_param, config
|
from . import logger, cli_param, config, db
|
||||||
from .constants import CONFIG_DIR as _CONFIG_DIR
|
from .constants import CONFIG_DIR as _CONFIG_DIR
|
||||||
|
|
||||||
|
|
||||||
@ -265,7 +265,7 @@ def getFile(pathId, fileName, drive, nocase):
|
|||||||
if fileList.__len__() == 0:
|
if fileList.__len__() == 0:
|
||||||
return None
|
return None
|
||||||
if nocase:
|
if nocase:
|
||||||
return fileList[0]
|
return fileList[0] if db.lcase(fileList[0]['title']) == db.lcase(fileName) else None
|
||||||
for f in fileList:
|
for f in fileList:
|
||||||
if f['title'] == fileName:
|
if f['title'] == fileName:
|
||||||
return f
|
return f
|
||||||
@ -273,8 +273,6 @@ def getFile(pathId, fileName, drive, nocase):
|
|||||||
|
|
||||||
|
|
||||||
def getFolderId(path, drive):
|
def getFolderId(path, drive):
|
||||||
# drive = getDrive(drive)
|
|
||||||
log.info(f"GetFolder: {path}")
|
|
||||||
currentFolderId = None
|
currentFolderId = None
|
||||||
try:
|
try:
|
||||||
currentFolderId = getEbooksFolderId(drive)
|
currentFolderId = getEbooksFolderId(drive)
|
||||||
@ -348,16 +346,23 @@ def moveGdriveFolderRemote(origin_file, target_folder, single_book=False):
|
|||||||
previous_parents = ",".join([parent["id"] for parent in origin_file.get('parents')])
|
previous_parents = ",".join([parent["id"] for parent in origin_file.get('parents')])
|
||||||
children = drive.auth.service.children().list(folderId=previous_parents).execute()
|
children = drive.auth.service.children().list(folderId=previous_parents).execute()
|
||||||
if single_book:
|
if single_book:
|
||||||
# gFileTargetDir = getFileFromEbooksFolder(None, target_folder, nocase=True)
|
gFileTargetDir = getFileFromEbooksFolder(None, target_folder, nocase=True)
|
||||||
gFileTargetDir = drive.CreateFile(
|
if gFileTargetDir:
|
||||||
{'title': target_folder, 'parents': [{"kind": "drive#fileLink", 'id': getEbooksFolderId()}],
|
# Move the file to the new folder
|
||||||
"mimeType": "application/vnd.google-apps.folder"})
|
drive.auth.service.files().update(fileId=origin_file['id'],
|
||||||
gFileTargetDir.Upload()
|
addParents=gFileTargetDir['id'],
|
||||||
# Move the file to the new folder
|
removeParents=previous_parents,
|
||||||
drive.auth.service.files().update(fileId=origin_file['id'],
|
fields='id, parents').execute()
|
||||||
addParents=gFileTargetDir['id'],
|
else:
|
||||||
removeParents=previous_parents,
|
gFileTargetDir = drive.CreateFile(
|
||||||
fields='id, parents').execute()
|
{'title': target_folder, 'parents': [{"kind": "drive#fileLink", 'id': getEbooksFolderId()}],
|
||||||
|
"mimeType": "application/vnd.google-apps.folder"})
|
||||||
|
gFileTargetDir.Upload()
|
||||||
|
# Move the file to the new folder
|
||||||
|
drive.auth.service.files().update(fileId=origin_file['id'],
|
||||||
|
addParents=gFileTargetDir['id'],
|
||||||
|
removeParents=previous_parents,
|
||||||
|
fields='id, parents').execute()
|
||||||
elif origin_file['title'] != target_folder:
|
elif origin_file['title'] != target_folder:
|
||||||
#gFileTargetDir = getFileFromEbooksFolder(None, target_folder, nocase=True)
|
#gFileTargetDir = getFileFromEbooksFolder(None, target_folder, nocase=True)
|
||||||
#if gFileTargetDir:
|
#if gFileTargetDir:
|
||||||
@ -366,12 +371,7 @@ def moveGdriveFolderRemote(origin_file, target_folder, single_book=False):
|
|||||||
drive.auth.service.files().patch(fileId=origin_file['id'],
|
drive.auth.service.files().patch(fileId=origin_file['id'],
|
||||||
body={'title': target_folder},
|
body={'title': target_folder},
|
||||||
fields='title').execute()
|
fields='title').execute()
|
||||||
'''else:
|
|
||||||
# Move the file to the new folder
|
|
||||||
drive.auth.service.files().update(fileId=origin_file['id'],
|
|
||||||
addParents=gFileTargetDir['id'],
|
|
||||||
removeParents=previous_parents,
|
|
||||||
fields='id, parents').execute()'''
|
|
||||||
# if previous_parents has no children anymore, delete original fileparent
|
# if previous_parents has no children anymore, delete original fileparent
|
||||||
if len(children['items']) == 1:
|
if len(children['items']) == 1:
|
||||||
deleteDatabaseEntry(previous_parents)
|
deleteDatabaseEntry(previous_parents)
|
||||||
|
@ -525,7 +525,7 @@ def update_dir_structure_gdrive(book_id, first_author):
|
|||||||
new_titledir = get_valid_filename(book.title, chars=96) + " (" + str(book_id) + ")"
|
new_titledir = get_valid_filename(book.title, chars=96) + " (" + str(book_id) + ")"
|
||||||
|
|
||||||
if titledir != new_titledir:
|
if titledir != new_titledir:
|
||||||
g_file = gd.getFileFromEbooksFolder(os.path.dirname(book.path), titledir)
|
g_file = gd.getFileFromEbooksFolder(authordir, titledir)
|
||||||
if g_file:
|
if g_file:
|
||||||
gd.moveGdriveFileRemote(g_file, new_titledir)
|
gd.moveGdriveFileRemote(g_file, new_titledir)
|
||||||
book.path = book.path.split('/')[0] + '/' + new_titledir
|
book.path = book.path.split('/')[0] + '/' + new_titledir
|
||||||
@ -612,7 +612,7 @@ def delete_book_gdrive(book, book_format):
|
|||||||
for entry in book.data:
|
for entry in book.data:
|
||||||
if entry.format.upper() == book_format:
|
if entry.format.upper() == book_format:
|
||||||
name = entry.name + '.' + book_format
|
name = entry.name + '.' + book_format
|
||||||
g_file = gd.getFileFromEbooksFolder(book.path, name)
|
g_file = gd.getFileFromEbooksFolder(book.path, name, nocase=True)
|
||||||
else:
|
else:
|
||||||
g_file = gd.getFileFromEbooksFolder(os.path.dirname(book.path), book.path.split('/')[1])
|
g_file = gd.getFileFromEbooksFolder(os.path.dirname(book.path), book.path.split('/')[1])
|
||||||
if g_file:
|
if g_file:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# GDrive Integration
|
# GDrive Integration
|
||||||
google-api-python-client>=1.7.11,<2.120.0
|
google-api-python-client>=1.7.11,<2.200.0
|
||||||
gevent>20.6.0,<24.3.0
|
gevent>20.6.0,<24.3.0
|
||||||
greenlet>=0.4.17,<3.1.0
|
greenlet>=0.4.17,<3.1.0
|
||||||
httplib2>=0.9.2,<0.23.0
|
httplib2>=0.9.2,<0.23.0
|
||||||
@ -13,7 +13,7 @@ rsa>=3.4.2,<4.10.0
|
|||||||
|
|
||||||
# Gmail
|
# Gmail
|
||||||
google-auth-oauthlib>=0.4.3,<1.3.0
|
google-auth-oauthlib>=0.4.3,<1.3.0
|
||||||
google-api-python-client>=1.7.11,<2.120.0
|
google-api-python-client>=1.7.11,<2.200.0
|
||||||
|
|
||||||
# goodreads
|
# goodreads
|
||||||
goodreads>=0.3.2,<0.4.0
|
goodreads>=0.3.2,<0.4.0
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user