import books from import folder, fixes #136

This commit is contained in:
j 2016-01-18 17:32:42 +05:30
commit 75fd720b19
4 changed files with 32 additions and 11 deletions

View file

@ -10,7 +10,7 @@ import time
import ox
from changelog import Changelog
from item.models import File, Scrape
from item.models import File
from user.models import List
from utils import remove_empty_folders
from websocket import trigger_event
@ -47,7 +47,7 @@ def remove_missing():
if not state.tasks.connected:
return
f.move()
remove_empty_folders(prefix)
remove_empty_folders(prefix, True)
def add_file(id, f, prefix, from_=None):
user = state.user()
@ -173,19 +173,24 @@ def run_import(options=None):
with db.session():
id = media.get_id(f)
file = File.get(id)
f_import = f
if not file:
f_import = f
f = f.replace(prefix, prefix_imported)
ox.makedirs(os.path.dirname(f))
if options.get('mode') == 'move':
shutil.move(f_import, f)
try:
shutil.move(f_import, f)
except:
shutil.copy2(f_import, f)
else:
shutil.copy(f_import, f)
shutil.copy2(f_import, f)
file = add_file(id, f, prefix_books, f_import)
file.move()
added += 1
if listname:
listitems.append(file.item.id)
elif options.get('mode') == 'move':
os.unlink(f_import)
if listname:
listitems.append(file.item.id)
if time.time() - last > 5:
last = time.time()
state.activity = {
@ -214,4 +219,16 @@ def run_import(options=None):
state.activity = {}
remove_empty_folders(prefix_books)
if options.get('mode') == 'move':
remove_empty_folders(prefix)
remove_empty_folders(prefix, True)
def import_folder():
import_path = settings.preferences['importPath']
logger.debug('scan importPath %s', import_path)
if os.path.exists(import_path):
run_import({
'path': import_path,
'mode': 'move'
})
remove_empty_folders(import_path, True)
if state.main:
state.main.call_later(10*60, lambda: state.tasks.queue('scanimport'))