Commit 7b709c15 authored by Jack Darlington's avatar Jack Darlington

GitIgnore update + fixes for initial setup

parent 6d30382a
...@@ -23,3 +23,6 @@ cps/static/[0-9]* ...@@ -23,3 +23,6 @@ cps/static/[0-9]*
*.bak *.bak
*.log.* *.log.*
tags tags
settings.yaml
gdrive_credentials
\ No newline at end of file
...@@ -274,6 +274,8 @@ def setup_db(): ...@@ -274,6 +274,8 @@ def setup_db():
return False return False
dbpath = os.path.join(config.config_calibre_dir, "metadata.db") dbpath = os.path.join(config.config_calibre_dir, "metadata.db")
if not os.path.exists(dbpath):
return False
engine = create_engine('sqlite:///{0}'.format(dbpath.encode('utf-8')), echo=False) engine = create_engine('sqlite:///{0}'.format(dbpath.encode('utf-8')), echo=False)
try: try:
conn = engine.connect() conn = engine.connect()
......
...@@ -204,9 +204,9 @@ def copyToDrive(drive, uploadFile, createRoot, replaceFiles, ...@@ -204,9 +204,9 @@ def copyToDrive(drive, uploadFile, createRoot, replaceFiles,
if os.path.basename(uploadFile) not in ignoreFiles: if os.path.basename(uploadFile) not in ignoreFiles:
existingFiles=drive.ListFile({'q' : "title = '%s' and '%s' in parents and trashed = false" % (os.path.basename(uploadFile), parent['id'])}).GetList() existingFiles=drive.ListFile({'q' : "title = '%s' and '%s' in parents and trashed = false" % (os.path.basename(uploadFile), parent['id'])}).GetList()
if len(existingFiles) > 0: if len(existingFiles) > 0:
driveFile = drive.CreateFile({'title': os.path.basename(uploadFile), 'parents' : [{"kind": "drive#fileLink", 'id' : parent['id']}], })
else:
driveFile=existingFiles[0] driveFile=existingFiles[0]
else:
driveFile = drive.CreateFile({'title': os.path.basename(uploadFile), 'parents' : [{"kind": "drive#fileLink", 'id' : parent['id']}], })
driveFile.SetContentFile(os.path.join(prevDir,uploadFile)) driveFile.SetContentFile(os.path.join(prevDir,uploadFile))
driveFile.Upload() driveFile.Upload()
......
...@@ -312,7 +312,7 @@ class Config: ...@@ -312,7 +312,7 @@ class Config:
else: else:
self.config_google_drive_watch_changes_response=None self.config_google_drive_watch_changes_response=None
if self.config_calibre_dir is not None: if (self.config_calibre_dir is not None and not self.config_use_google_drive) or os.path.exists(self.config_calibre_dir + '/metadata.db'):
self.db_configured = True self.db_configured = True
else: else:
self.db_configured = False self.db_configured = False
......
...@@ -43,6 +43,7 @@ import re ...@@ -43,6 +43,7 @@ import re
import db import db
from shutil import move, copyfile from shutil import move, copyfile
from tornado.ioloop import IOLoop from tornado.ioloop import IOLoop
import shutil
import StringIO import StringIO
from shutil import move from shutil import move
import gdriveutils import gdriveutils
...@@ -198,6 +199,9 @@ lm.anonymous_user = ub.Anonymous ...@@ -198,6 +199,9 @@ lm.anonymous_user = ub.Anonymous
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT' app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
db.setup_db() db.setup_db()
def is_gdrive_ready():
return os.path.exists('settings.yaml') and os.path.exists('gdrive_credentials')
@babel.localeselector @babel.localeselector
def get_locale(): def get_locale():
# if a user is logged in, use the locale from the user settings # if a user is logged in, use the locale from the user settings
...@@ -1889,17 +1893,14 @@ def configuration_helper(origin): ...@@ -1889,17 +1893,14 @@ def configuration_helper(origin):
if content.config_google_drive_client_id != to_save["config_google_drive_client_id"]: if content.config_google_drive_client_id != to_save["config_google_drive_client_id"]:
content.config_google_drive_client_id = to_save["config_google_drive_client_id"] content.config_google_drive_client_id = to_save["config_google_drive_client_id"]
create_new_yaml=True create_new_yaml=True
db_change = True
if "config_google_drive_client_secret" in to_save: if "config_google_drive_client_secret" in to_save:
if content.config_google_drive_client_secret != to_save["config_google_drive_client_secret"]: if content.config_google_drive_client_secret != to_save["config_google_drive_client_secret"]:
content.config_google_drive_client_secret = to_save["config_google_drive_client_secret"] content.config_google_drive_client_secret = to_save["config_google_drive_client_secret"]
create_new_yaml=True create_new_yaml=True
db_change = True
if "config_google_drive_calibre_url_base" in to_save: if "config_google_drive_calibre_url_base" in to_save:
if content.config_google_drive_calibre_url_base != to_save["config_google_drive_calibre_url_base"]: if content.config_google_drive_calibre_url_base != to_save["config_google_drive_calibre_url_base"]:
content.config_google_drive_calibre_url_base = to_save["config_google_drive_calibre_url_base"] content.config_google_drive_calibre_url_base = to_save["config_google_drive_calibre_url_base"]
create_new_yaml=True create_new_yaml=True
db_change = True
if ("config_use_google_drive" in to_save and not content.config_use_google_drive) or ("config_use_google_drive" not in to_save and content.config_use_google_drive): if ("config_use_google_drive" in to_save and not content.config_use_google_drive) or ("config_use_google_drive" not in to_save and content.config_use_google_drive):
content.config_use_google_drive = "config_use_google_drive" in to_save content.config_use_google_drive = "config_use_google_drive" in to_save
db_change = True db_change = True
...@@ -1953,6 +1954,8 @@ def configuration_helper(origin): ...@@ -1953,6 +1954,8 @@ def configuration_helper(origin):
if "passwd_role" in to_save: if "passwd_role" in to_save:
content.config_default_role = content.config_default_role + ub.ROLE_PASSWD content.config_default_role = content.config_default_role + ub.ROLE_PASSWD
try: try:
if content.config_use_google_drive and is_gdrive_ready() and not os.path.exists(config.config_calibre_dir + "/metadata.db"):
gdriveutils.downloadFile(Gdrive.Instance().drive, None, "metadata.db", config.config_calibre_dir + "/metadata.db")
if db_change: if db_change:
if config.db_configured: if config.db_configured:
db.session.close() db.session.close()
...@@ -1984,7 +1987,7 @@ def configuration_helper(origin): ...@@ -1984,7 +1987,7 @@ def configuration_helper(origin):
if origin: if origin:
success = True success = True
return render_title_template("config_edit.html", origin=origin, success=success, content=config, return render_title_template("config_edit.html", origin=origin, success=success, content=config,
show_authenticate_google_drive=not os.path.exists('settings.yaml') or not os.path.exists('gdrive_credentials'), show_authenticate_google_drive=not is_gdrive_ready(),
title=_(u"Basic Configuration")) title=_(u"Basic Configuration"))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment