Compare commits
6 Commits
a27ef9701f
...
4e4b853416
Author | SHA1 | Date |
---|---|---|
j | 4e4b853416 | |
j | c38d3a8b35 | |
j | debe3823e2 | |
j | e623307d19 | |
j | 1421e402e1 | |
j | 853f6cdc0c |
2
ctl
2
ctl
|
@ -56,7 +56,7 @@ else
|
|||
ARCH="_armv7l"
|
||||
fi
|
||||
PLATFORM="linux$ARCH"
|
||||
if [ -e $BASE/platform_${PLATFORM}/lib/libunrar.so ]; then
|
||||
if [ -e "$BASE/platform_${PLATFORM}/lib/libunrar.so" ]; then
|
||||
export UNRAR_LIB_PATH="$BASE/platform_${PLATFORM}/lib/libunrar.so"
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -843,15 +843,17 @@ def download_cover(id):
|
|||
url = i.meta.get('cover')
|
||||
else:
|
||||
url = None
|
||||
cover = None
|
||||
|
||||
logger.debug('download cover %s %s', id, url)
|
||||
ratio = None
|
||||
try:
|
||||
cover = ox.net.read_url(url)
|
||||
ratio = get_ratio(cover)
|
||||
except:
|
||||
logger.debug('unable to read cover url %s', url)
|
||||
cover = None
|
||||
if url:
|
||||
try:
|
||||
cover = ox.net.read_url(url)
|
||||
ratio = get_ratio(cover)
|
||||
except:
|
||||
logger.debug('unable to read cover url %s', url)
|
||||
cover = None
|
||||
with db.session():
|
||||
i = Item.get(id, for_update=True)
|
||||
if i:
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import zipfile
|
||||
import logging
|
||||
|
||||
import ox
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def cover(path):
|
||||
data = None
|
||||
logger.debug('cover %s', path)
|
||||
|
|
|
@ -153,7 +153,7 @@ def info(epub):
|
|||
contents.append(txt)
|
||||
if contents:
|
||||
data['tableofcontents'] = '\n'.join(contents).strip()
|
||||
if not 'tableofcontents' in data:
|
||||
if 'tableofcontents' not in data:
|
||||
guide = info.find('{http://www.idpf.org/2007/opf}guide')
|
||||
if guide:
|
||||
for ref in guide.findall('{http://www.idpf.org/2007/opf}reference'):
|
||||
|
@ -169,7 +169,7 @@ def info(epub):
|
|||
data['description'] = strip_tags(decode_html(data['description']))
|
||||
text = extract_text(epub)
|
||||
data['textsize'] = len(text)
|
||||
if not 'isbn' in data:
|
||||
if 'isbn' not in data:
|
||||
isbn = extract_isbn(text)
|
||||
if isbn:
|
||||
data['isbn'] = isbn
|
||||
|
|
|
@ -237,10 +237,13 @@ def info(pdf):
|
|||
def extract_text(pdf):
|
||||
if sys.platform == 'win32':
|
||||
pdf = get_short_path_name(pdf)
|
||||
cmd = ['pdftotext', pdf, '-']
|
||||
if sys.platform == 'darwin':
|
||||
cmd = ['/usr/bin/mdimport', '-d2', pdf]
|
||||
else:
|
||||
cmd = ['pdftotext', pdf, '-']
|
||||
pdftotext = ['/usr/local/bin/pdftotext', pdf, '-']
|
||||
if os.path.exists(pdftotext[0]):
|
||||
cmd = pdftotext
|
||||
else:
|
||||
cmd = ['/usr/bin/mdimport', '-d2', pdf]
|
||||
if sys.platform == 'win32':
|
||||
startupinfo = subprocess.STARTUPINFO()
|
||||
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
|
||||
|
@ -251,7 +254,7 @@ def extract_text(pdf):
|
|||
stdout, stderr = p.communicate()
|
||||
stdout = stdout.decode()
|
||||
stderr = stderr.decode()
|
||||
if sys.platform == 'darwin':
|
||||
if sys.platform == 'darwin' and cmd[0] == '/usr/bin/mdimport':
|
||||
if 'kMDItemTextContent' in stderr:
|
||||
stdout = stderr.split('kMDItemTextContent = "')[-1].split('\n')[0][:-2]
|
||||
else:
|
||||
|
|
|
@ -36,7 +36,10 @@ class Tasks(Thread):
|
|||
|
||||
def run(self):
|
||||
self.load_tasks()
|
||||
self.queue('scan')
|
||||
if time.mktime(time.gmtime()) - settings.server.get('last_scan', 0) > 24*60*60:
|
||||
settings.server['last_scan'] = time.mktime(time.gmtime())
|
||||
self.queue('scan')
|
||||
|
||||
import item.scan
|
||||
from item.models import sync_metadata, get_preview, get_cover
|
||||
from user.models import (
|
||||
|
|
Loading…
Reference in New Issue