From 02c61c63500930eda78dbf7215c79d422ce35aa8 Mon Sep 17 00:00:00 2001 From: j Date: Fri, 18 Jan 2019 19:06:39 +0530 Subject: [PATCH] move icons.db into library folder --- oml/item/icons.py | 22 ++++++++++++++++++---- oml/item/scan.py | 8 ++++++++ oml/settings.py | 1 - 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/oml/item/icons.py b/oml/item/icons.py index 87a6a5b..702fe5e 100644 --- a/oml/item/icons.py +++ b/oml/item/icons.py @@ -3,16 +3,16 @@ import os import sqlite3 +from concurrent.futures import ThreadPoolExecutor import tornado.concurrent import tornado.gen import tornado.ioloop import tornado.web -from concurrent.futures import ThreadPoolExecutor from tornado.concurrent import run_on_executor +import ox - -from settings import icons_db_path, static_path +from settings import static_path from utils import resize_image, is_svg import db @@ -125,7 +125,18 @@ class Icons(dict): c.close() conn.close() -icons = Icons(icons_db_path) +def get_icons_db_path(): + import settings + import shutil + + metadata = os.path.join(os.path.expanduser(settings.preferences['libraryPath']), 'Metadata') + ox.makedirs(metadata) + icons_db_path = os.path.join(metadata, 'icons.db') + old_icons_db_path = os.path.join(settings.data_path, 'icons.db') + if not os.path.exists(icons_db_path) and os.path.exists(old_icons_db_path): + print(icons_db_path, icons_db_path) + shutil.move(old_icons_db_path, icons_db_path) + return icons_db_path def get_icon_sync(id, type_, size): if size: @@ -211,3 +222,6 @@ class IconHandler(tornado.web.RequestHandler): if self._finished: return self.write(response) + + +icons = Icons(get_icons_db_path()) diff --git a/oml/item/scan.py b/oml/item/scan.py index c8c7a5a..d700aea 100644 --- a/oml/item/scan.py +++ b/oml/item/scan.py @@ -210,6 +210,14 @@ def run_scan(): logger.debug('%s items in library without a record', len(missing)) def change_path(old, new): + old_icons = os.path.join(old, 'Metadata', 'icons.db') + new_icons = os.path.join(new, 'Metadata', 'icons.db') + if os.path.exists(old_icons) and not os.path.exists(new_icons): + ox.makedirs(os.path.dirname(new_icons)) + shutil.move(old_icons, new_icons) + import item.icons + item.icons.icons = item.icons.Icons(new_icons) + new_books = os.path.join(new, 'Books') if not os.path.exists(new_books): ox.makedirs(new) diff --git a/oml/settings.py b/oml/settings.py index 59a6f77..8b11142 100644 --- a/oml/settings.py +++ b/oml/settings.py @@ -25,7 +25,6 @@ if not os.path.exists(data_path): db_path = os.path.join(data_path, 'data.db') log_path = os.path.join(data_path, 'debug.log') -icons_db_path = os.path.join(data_path, 'icons.db') ssl_cert_path = os.path.join(data_path, 'node.ssl.crt') ssl_key_path = os.path.join(data_path, 'tor', 'private_key')