Merge branch 'develop' into personal
This commit is contained in:
		
						commit
						e3a2bd348c
					
				| 
						 | 
					@ -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"]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@ I have been messing around with calibre-web in a few different ways and thought
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Marking books as read/unread. In the Book View, there is now a row that says whether or not a book is read. If you click it, it will toggle. Further down the line, I plan on adding goodreads support, which if the book has a goodreads link, it will automatically move the book to the "to read" and "read" bookshelves.
 | 
					1. Marking books as read/unread. In the Book View, there is now a row that says whether or not a book is read. If you click it, it will toggle. Further down the line, I plan on adding goodreads support, which if the book has a goodreads link, it will automatically move the book to the "to read" and "read" bookshelves.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2. Google drive support. In my local version, I currently have this working, but it is essentially to make the website have all the books / covers / metadata.db served directly from google drive. I am currently, still optimising a bit of code, and will hopefully have this on GitHub ASAP.
 | 
					2. Google drive support. In my local version, I currently have this working, but it is essentially to make the website have all the books / covers / metadata.db served directly from google drive. I am currently, still optimising a bit of code, and will hopefully have this on GitHub ASAP. Running python cps.py -g, will now make it run with gevent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##Using Google Drive integration
 | 
					##Using Google Drive integration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user