OSDN Git Service

implement jpeg cache option.
authorgn64_jp <gn64@rec10.org>
Tue, 30 Jul 2013 15:15:56 +0000 (00:15 +0900)
committergn64_jp <gn64@rec10.org>
Tue, 30 Jul 2013 15:15:56 +0000 (00:15 +0900)
index/pdf2xml.py
install_Centos.sh

index b14bc4e..3176491 100644 (file)
@@ -22,6 +22,28 @@ elif os.path.exists("../libre10.conf"):
     confstr="../libre10.conf"
 conf_dic=yaml.load(open(confstr).read())
 sqlpath=conf_dic['dburl']
+print conf_dic
+
+try:
+    extendJpeg=conf_dic['extendJpeg']
+except:
+    extendJpeg=0
+try:
+    adjustForiOS=conf_dic['adjustForiOS']
+except:
+    adjustForiOS=0
+try:
+    cacheFolder=conf_dic['cacheFolder']
+except:
+    cacheFolder="/tmp/libre10/cache"
+try:
+    cacheLimit=int(conf_dic['cacheLimit'])
+except:
+    cacheLimit=1000
+if (extendJpeg==1):
+    if not(os.path.exists(cacheFolder)):
+        os.system("mkdir \""+cacheFolder+"\"")
+        os.system("chmod -R 777 \""+cacheFolder+"\"")
 dbcon=sqlite3.connect(sqlpath,isolation_level=None)
 try:
     sql = u"""
@@ -101,6 +123,7 @@ def PDF2TEXT(pdfpath,dstpath,idnum):
         p.wait()
         time.sleep(1)
         TEXT2solr(s,os.path.splitext(os.path.basename(pdfpath))[0],"page-"+str(i)+dstpath,i,pagenum,pdfpath,idnum)
+        generateCache(pdfpath.encode("utf-8"),os.path.splitext(os.path.basename(pdfpath))[0].encode("utf-8")+"_"+str(i),i)
        os.system("rm -f page-"+str(i)+dstpath)
     sql = u"insert into pdffile (id,path,page,title,title_id,part) values (?,?,?,?,?,?)"
     dbcon.execute(sql,(idnum,pdfpath,pagenum,title_group,rdl,parttext))
@@ -138,6 +161,14 @@ def TEXT2solr(solrcon,titletxt,textpath,pagenum,pagemax,pdfpath,idnum):
     ]
     #print sdata
     solrcon.add(sdata)
+def generateCache(pdfpath,filename,pagenum):
+    cacheJpegPath=cacheFolder+"/"+filename+"_orig.jpg"
+    if extendJpeg==1:
+        os.system("pdfimages -j -f "+str(pagenum)+" -l "+str(pagenum)+" \""+pdfpath+"\" \""+cacheFolder+"/"+filename+"\"")
+        os.system("mv \""+cacheFolder+"/"+filename+"-000.jpg\" \""+cacheJpegPath+"\"")
+    if adjustForiOS==1:
+        cacheMobileJpegPath=cacheFolder+"/"+filename+"_mobile.jpg"
+        os.system("gm convert -quality 80 -size 900x1704 -resize 900x1704\\> \""+cacheJpegPath+"\" \""+cacheMobileJpegPath+"\"")
 argvs=sys.argv
 argc=len(argvs)
 for st in argvs[1:]:
index daee9ab..99823fc 100644 (file)
@@ -3,7 +3,7 @@ echo "Libre10 installer for Centos/fedora."
 echo "If you haven't enabled EPEL, you would better do it."
 echo "You've already enabled EPEL?[Y/n]"
 read YN
-if [ $YN = 'N' ] || [ $YN = 'n' ]; then
+if  $YN = 'N'  ||  $YN = 'n' ; then
        yum install cpan jre java-1.6.0 GraphicsMagick poppler-utils libyaml libyaml-devel libxml2-devel libxslt-devel libxml2 libxslt python-devel
        yum install python-setuptools
        easy_install pysolr