import books from import folder, fixes #136
This commit is contained in:
parent
1cd6f35b86
commit
75fd720b19
4 changed files with 32 additions and 11 deletions
|
|
@ -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'))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue