More refactoring

This commit is contained in:
Ozzieisaacs
2019-02-08 20:11:44 +01:00
parent a00d93a2d9
commit d6ee8f75e9
29 changed files with 3352 additions and 3015 deletions

View File

@ -27,7 +27,7 @@ except ImportError:
gdrive_support = False
import os
from cps import config
from cps import config, app
import cli
import shutil
from flask import Response, stream_with_context
@ -37,8 +37,6 @@ from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import *
import web
class Singleton:
"""
A non-thread-safe helper class to ease implementing singletons.
@ -89,6 +87,10 @@ class Gdrive:
def __init__(self):
self.drive = getDrive(gauth=Gauth.Instance().auth)
def is_gdrive_ready():
return os.path.exists(os.path.join(config.get_main_dir, 'settings.yaml')) and \
os.path.exists(os.path.join(config.get_main_dir, 'gdrive_credentials'))
engine = create_engine('sqlite:///{0}'.format(cli.gdpath), echo=False)
Base = declarative_base()
@ -157,9 +159,9 @@ def getDrive(drive=None, gauth=None):
try:
gauth.Refresh()
except RefreshError as e:
web.app.logger.error("Google Drive error: " + e.message)
app.logger.error("Google Drive error: " + e.message)
except Exception as e:
web.app.logger.exception(e)
app.logger.exception(e)
else:
# Initialize the saved creds
gauth.Authorize()
@ -169,7 +171,7 @@ def getDrive(drive=None, gauth=None):
try:
drive.auth.Refresh()
except RefreshError as e:
web.app.logger.error("Google Drive error: " + e.message)
app.logger.error("Google Drive error: " + e.message)
return drive
def listRootFolders():
@ -206,7 +208,7 @@ def getEbooksFolderId(drive=None):
try:
gDriveId.gdrive_id = getEbooksFolder(drive)['id']
except Exception:
web.app.logger.error('Error gDrive, root ID not found')
app.logger.error('Error gDrive, root ID not found')
gDriveId.path = '/'
session.merge(gDriveId)
session.commit()
@ -455,10 +457,10 @@ def getChangeById (drive, change_id):
change = drive.auth.service.changes().get(changeId=change_id).execute()
return change
except (errors.HttpError) as error:
web.app.logger.info(error.message)
app.logger.info(error.message)
return None
except Exception as e:
web.app.logger.info(e)
app.logger.info(e)
return None
@ -527,6 +529,6 @@ def do_gdrive_download(df, headers):
if resp.status == 206:
yield content
else:
web.app.logger.info('An error occurred: %s' % resp)
app.logger.info('An error occurred: %s' % resp)
return
return Response(stream_with_context(stream()), headers=headers)