日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小试debian-7.11.0-amd64+Plone5.1.2全文检索和预览中文WORD中文PDF

發(fā)布時間:2024/3/12 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小试debian-7.11.0-amd64+Plone5.1.2全文检索和预览中文WORD中文PDF 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先勸誡提醒一下,沒接觸過Plone的老鐵們最好就不要往下看了,哈哈。易度的老潘寫的兩篇文章講透了Zope/Plone有多糟心

(知乎上的)https://www.zhihu.com/question/19649024 (豆瓣上的)https://www.douban.com/group/topic/11400495/

我自己用Zope/Plone的體會是,國內(nèi)用的人少,中文資料極缺,學(xué)習(xí)的Zope/Plone知識基本上用不到其他項(xiàng)目中去,一點(diǎn)點(diǎn)小問題的解決都要大費(fèi)周折,而且第三方組件往往不能隨核心版本升級,總之是Zope/Plone造成的問題比它解決的問題還多。

2007年的時候沒認(rèn)對方向,一時糊涂,在windows下用Plone-2.1.3配合

老潘(http://old.zope.org/Members/panjunyong)的 CJKSplitter ZopeChinaPak ingeniweb(http://ingeniweb.sourceforge.net/)的 PloneExFile AttachmentField FileSystemStorage

建了一個自己用的電子文檔管理系統(tǒng),二進(jìn)制文件不保存進(jìn)ZODB而存入文件系統(tǒng),FTP批量上傳,中文全文檢索和預(yù)覽Word2003和文本類PDF文件,目錄列表和搜索結(jié)果時截取前幾十百把個字符顯示在每條下方。

這些年主要升級了兩次一次升級到2.5.5,一次到3.3.5(ZODB3.8支持blob,用wc.pageturner加入了圖片類PDF預(yù)覽的功能),系統(tǒng)與其說是用Plone,不如說是用PloneExFile,由于PloneExFile項(xiàng)目停了(不支持Plone4了),再加上一直用的ODBCDA也只支持Plone3(Python2.4),就實(shí)在是不想繼續(xù)升級了。

系統(tǒng)一直自己用著還不錯,但是沒辦法給本部門其他同事共用,因?yàn)镻loneExFile不支持office2007及以后版本,雖然Products.OpenXml可以加入office2007及以后版本的中文全文檢索,但是預(yù)覽功能和截取字符功能沒辦法實(shí)現(xiàn)了,wc.pageturner也有點(diǎn)小毛病(FTP批量上傳的PDF在轉(zhuǎn)換SWF時往往會導(dǎo)致ZODB崩潰,得用fsrecover.py才能修復(fù),網(wǎng)頁上傳的卻正常)。

前一段時間在一個網(wǎng)頁上

https://stackoverflow.com/questions/12420334/how-to-use-wc-pageturner-in-plone-4-1

看到wc.pageturner的作者vangheem回復(fù)了這樣一句話?

If you want a pdf viewer, use collective.documentviewer. I am no longer updating wc.pageturner-- collective.documentviewer is a much better viewer and implementation. – vangheem 2012-09-14

?他在自己的網(wǎng)站上也提到It is recommended that you do not use this method anymore. Please use collective.documentviewer now which should cover all the use cases.

https://www.nathanvangheem.com/posts/2011/04/14/using-plone-as-a-document-repository.html

?自己也想了解一下現(xiàn)在Plone發(fā)展到什么程度了,建文檔管理系統(tǒng)的方便程度如何,于是試著用最新的Plone版本來用一用collective.documentviewer。選擇debian是因?yàn)閏ollective.documentviewer不支持windows,用debian-7.11.0是因?yàn)槭诸^正好下載了完整10張DVD,原型測試夠用就行,需要說明的是collective.documentviewer要用到docsplit,而docsplit又基于libreoffice或openoffice,安裝debian時一定要選擇安裝“桌面支持”和“開發(fā)支持”以及中文支持。好像還有一種libreoffice的headless進(jìn)程服務(wù),似乎不需要圖形界面,用端口提供轉(zhuǎn)換服務(wù)(Alfresco中就有用到),但是我沒有去試。debian-7.11.0網(wǎng)絡(luò)安裝如果只用debian-7.11.0-amd64的DVD通過FTP提供內(nèi)網(wǎng)APT Repository服務(wù),只用到DVD1,但是如果用DVD1安裝,會要求切換三張DVD,說明用DVD安裝的版本更全,我就發(fā)現(xiàn)DVD安裝的才有中文輸入法。

主要參考資料

http://documentcloud.github.io/docsplit https://www.documentcloud.org/opensource https://www.nathanvangheem.com/posts/2012/04/29/document-viewer-integration-in-plone.html https://www.dangtrinh.com/2013/07/plone-review-documents-in-plone-with.html http://tunmer.me/how-tos/installing-plone-on-ubuntu.html

一、先安裝必備的支持組件,部分是安裝Plone需要的,部分是運(yùn)行Plone與其組件需要的

apt-get -y --force-yes install build-essential apt-get -y --force-yes install gcc g++ sudo git apt-get -y --force-yes install libxml2 libxml2-dev libxslt1-dev apt-get -y --force-yes install zlibc zlib1g-dev libbz2-dev libssl-dev p7zip-full unzip apt-get -y --force-yes install unace unp bzip2 gzip patch apt-get -y --force-yes install python-dev libjpeg-dev apt-get -y --force-yes install libsqlite3-dev apt-get -y --force-yes install libreadline-dev apt-get -y --force-yes install rubygems apt-get -y --force-yes install graphicsmagick apt-get -y --force-yes install poppler-utils poppler-data apt-get -y --force-yes install ghostscript apt-get -y --force-yes install tesseract-ocr apt-get -y --force-yes install pdftk

二、下載Plone5.1.2,解壓,基礎(chǔ)安裝

https://launchpad.net/plone/5.1/5.1.2/+download/Plone-5.1.2-UnifiedInstaller.tgz

解壓、檢查安裝參數(shù)?

tar zxvf Plone-5.1.2-UnifiedInstaller.tgz cd Plone-5.1.2-UnifiedInstaller ./install.sh --help

debian-7.11.0-amd64中自帶的是Python2.7.3(查了一下當(dāng)前stretch:python 2.7.13-2;sid:python 2.7.14-8),不符合Plone5.1.2要求Python version must be 2.7.9+,必須指定--build-python

./install.sh --build-python --target=/opt/plone zeo

安裝過程會下載Python-2.7.14.tgz到Plone-5.1.2-UnifiedInstaller/packages目錄中,用于編譯構(gòu)建virtualenv環(huán)境(如果先前沒有apt-get install libreadline-dev,會看到如下提示,提示編譯出的不支持readline,安裝還是可以完成的)

Warning: This Python does not have readline support. It may still be usable for Zope, but interacting directly with Python will be painful.

安裝出錯時可以查看安裝LOG,安裝成功時LOG也有“ chmod: 更改“***----***”的權(quán)限:不允許的操作 ”等字樣。

Plone-5.1.2-UnifiedInstaller/install.log

等待漫長的安裝過程結(jié)束,網(wǎng)絡(luò)狀況的好壞決定了能否順利完成安裝及速度。安裝后半段執(zhí)行了buildout,buildout運(yùn)行時下載的文件(也包括部分安裝包自帶組件解壓出來的)存在以下目錄中

/opt/plone/buildout-cache/downloads/dist/

安裝結(jié)束會提示管理用戶名和密碼,如果此時沒有記錄下來,還可以查看一個記錄的文件

cat /opt/plone/zeocluster/adminPassword.txt

admin jkMq3sadkxJm

同時提示中還表明安裝時建立了一個用戶組plone_group,和兩個用戶,這個很重要,后面會用到

ZEO & Client Daemons :plone_daemon Code Resources & buildout :plone_buildout Setting /opt/plone ownership to plone_buildout:plone_group

三、建立第一個站點(diǎn)

在debian上用root用戶啟動服務(wù)

cd /opt/plone/zeocluster bin/plonectl start

在客戶端的瀏覽器上連接8080端口

http://10.16.97.205:8080

選擇建立一個站點(diǎn),需要用admin登錄,如果用的缺省的站點(diǎn)名字Plone,以后訪問站點(diǎn)的URL就是

http://10.16.97.205:8080/Plone

四、rubygems安裝docsplit

collective.documentviewer 5.0.1依賴于docsplit,collective.documentviewer是DocumentCloud Projects項(xiàng)目的子項(xiàng)目中NY Times' Document Viewer的Plone綁定。docsplit也是這個項(xiàng)目的子項(xiàng)目,其轉(zhuǎn)換依賴LibreOffice,因此服務(wù)器debian安裝時一定要選擇安裝“桌面支持”和“開發(fā)支持”。docsplit主頁為:

https://rubygems.org/gems/docsplit/versions/0.7.6

collective.documentviewer只支持Plone4和Plone5,并且不支持windows(docsplit好像不支持windows),參見以下網(wǎng)頁

https://stackoverflow.com/questions/14543419/can-collective-documentviewer-work-on-windows-2003-server-plone4-2

?gem安裝docsplit

gem install docsplit --version=0.7.6

如果網(wǎng)絡(luò)原因無法安裝,可以下載gem文件(下載鏈接:https://rubygems.org/downloads/docsplit-0.7.6.gem?)手工安裝:

gem install docsplit-0.7.6.gem

debian中已安裝的gem可以在以下目錄中找到原始gem文件

/var/lib/gems/1.8/cache/docsplit-0.7.6.gem

五、下載對應(yīng)tika1.11版本的tika.cfg

?tika是apache的一個java項(xiàng)目,是Apache Lucene的子項(xiàng)目,支持識別二進(jìn)制文件的格式和編碼encoding,提取出文本內(nèi)容(還有meta等格式信息),據(jù)說也支持windows,而ftw.tika是tika的Plone綁定,全文檢索就靠它了

最早看到的推薦ftw.tika的文章: https://stackoverflow.com/questions/23151319/plone-full-text-indexing-excel-files 項(xiàng)目網(wǎng)址: https://github.com/4teamwork/ftw.tika

下載master分支的zip文件,目前是對應(yīng)tika 1.11的版本,解壓文件,只將tika.cfg文件拷貝到/opt/plone/zeocluster/目錄中,與buildout.cfg在同一目錄中

六、?安裝Oracle官方的jdk1.8

tika 1.11最低要求java1.7。為了運(yùn)行一個python項(xiàng)目,不僅安裝了ruby,還要安裝java,會不會被純Pythoner鄙視?

安裝過程略。

?java -version

java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

七、編輯buildout.cfg

編輯前先備份一下,這是必須養(yǎng)成的習(xí)慣,后文不再強(qiáng)調(diào)

cp /opt/plone/zeocluster/buildout.cfg /opt/plone/zeocluster/buildout.cfg.bk

這部分參考以下網(wǎng)頁,這個網(wǎng)頁可能無法直接打開,但網(wǎng)頁的確存在,原因~!@#¥%……&*()——+

http://blog.abdullahsolutions.com/2016/08/installing-ftwtika-in-plone.html

引用主要內(nèi)容如下,加入了collective.documentviewer的內(nèi)容

I love being able to search in all the documents uploaded into plone. I keep on forgetting that this was an add-on and not natively provided. The latest add-on I tried to enable that feature was ftw.tika. To install it, first download the tika.cfg file from their github page at https://github.com/4teamwork/ftw.tika. Once that has been downloaded, modify your buildout.cfg with: ############ [buildout] extends =... tika.cfgeggs =...ftw.tikacollective.documentviewerzcml =...ftw.tikaftw.tika-metaparts =...tika-server-downloadtika-server[client1] ... zcml-additional += ${tika:zcml} eggs += ftw.tika[client2] ... zcml-additional += ${tika:zcml} eggs += ftw.tika[versions] collective.documentviewer = 5.0.1############ Once that is done, run buildout. Then you can start the tika server with "bin/tika-server". Then you can start your plone instance. After that make sure you login and enable the tika add-on in your "site-setup", "add-ons" page.

生成patch:diff -uN buildout.cfg?buildout.cfg.ok >buildout512.cfg.diff,以后重裝時在buildout.cfg同一目錄中patch -p0 <buildout512.cfg.diff

--- buildout.cfg 2018-08-11 17:16:24.934227831 +0800 +++ buildout.cfg.ok 2018-08-11 17:16:09.310229089 +0800 @@ -38,6 +38,7 @@extends =base.cfgversions.cfg + tika.cfg# http://dist.plone.org/release/5.1.2/versions.cfg# If you change your Plone version, you'll also need to update @@ -71,6 +72,8 @@eggs =PlonePillow + ftw.tika + collective.documentviewer############################################# ZCML Slugs @@ -79,7 +82,8 @@# use them. This is increasingly rare.zcml =# plone.reload - + ftw.tika + ftw.tika-meta############################################# Development Eggs# ---------------- @@ -149,7 +153,8 @@unifiedinstallerprecompilersetpermissions - + tika-server-download + tika-server############################################# Major Parts# ---------------------- @@ -167,12 +172,17 @@recipe = plone.recipe.zope2instancezeo-address = ${zeoserver:zeo-address}http-address = 8080 +ftp-address = 8021 +zcml-additional += ${tika:zcml} +eggs += ftw.tika[client2]<= client_baserecipe = plone.recipe.zope2instancezeo-address = ${zeoserver:zeo-address}http-address = 8081 +zcml-additional += ${tika:zcml} +eggs += ftw.tika############################################# Versions Specification @@ -197,3 +207,14 @@plone.recipe.unifiedinstaller = 4.3.2plone.recipe.command = 1.1plone.recipe.precompiler = 0.6 + +certifi = 2017.11.5 +chardet = 3.0.4 +collective.recipe.scriptgen = 0.2 +ftw.tika = 2.9.0 +hexagonit.recipe.download = 1.7.1 +idna = 2.6 +requests = 2.18.4 +urllib3 = 1.22 + +collective.documentviewer = 5.0.1

八、開始buildout

開始buildout前務(wù)必先停掉服務(wù)

cd /opt/plone/zeocluster bin/plonectl stop

Plone不允許用root用戶運(yùn)行buildout,必須用普通用戶sudo為plone_buildout角色運(yùn)行。

Buildout should not be run while superuser. Doing so allows untrusted code to be run as root. Instead, you probably wish to do something like:sudo -u plone_buildout bin/buildoutIf you have a good reason to bypass this restriction, remove the buildout.sanitycheck extension from your buildout.

如果是新安裝的wheezy,可能還不允許普通用戶運(yùn)行sudo,新建配置文件讓普通用戶可以運(yùn)行sudo,假設(shè)普通用戶賬號為hero

joe /etc/sudoers.d/hero

內(nèi)容只有一行

hero ALL=(ALL:ALL) ALL

正常的情況下應(yīng)該先設(shè)置buildout使用pypi的鏡像甚至本地pypi庫,否則全世界的buildout都用官網(wǎng),速度肯定快不了,只需要在base.cfg的[buildout]段加入一行?index=http://mirrors.163.com/pypi/simple/

joe /opt/plone/zeocluster/base.cfg

[buildout] ... ... index=http://mirrors.163.com/pypi/simple/

如果想完全重裝,之前安裝用到Plone-5.1.2-UnifiedInstaller/packages/Python-2.7.14.tgz,修改好了的buildout.cfg文件,以及目錄/opt/plone/buildout-cache/downloads/dist/中的內(nèi)容可以備份好,在相應(yīng)時間節(jié)點(diǎn)拷貝回新安裝的相同目錄(要注意文件的擁有者和文件屬性,后文會提到),以節(jié)約時間。用以下命令開始buildout,?見證噩夢的時刻到了。。。。。。。。。。。。。。。。。

hero@mydebian205:/opt/plone/zeocluster$ sudo -u plone_builout bin/buildout -vvv

buildout會遇到各種狀況,buildout意外中斷,buildout停止反應(yīng)既不下載也不編譯,buildout看似完成但服務(wù)無法啟動,服務(wù)啟動但用URL無法訪問站點(diǎn),可訪問站點(diǎn)但組件沒出現(xiàn)在面板中或未生效等不可預(yù)測的情況都有可能遇到。

最常見的情況是下載不順問題,解決辦法是按Ctrl+C中斷進(jìn)程,記下需要的文件和版本到https://pypi.org直接下載文件保存到以下目錄,并設(shè)置文件擁有者和文件屬性

ls /opt/plone/buildout-cache/downloads/dist/ chown -R plone_buildout:plone_group /opt/plone/buildout-cache/downloads/dist/ chmod -R 664 /opt/plone/buildout-cache/downloads/dist/

然后重新開始buildout

hero@mydebian205:/opt/plone/zeocluster$ sudo -u plone_builout bin/buildout -vvv

一遍又一遍,一遍又一遍,直到每次輸入buildout命令準(zhǔn)備按回車前都雙手合十,求上蒼保佑,才算進(jìn)入角色了。畢竟本文只增加了兩個組件ftw.tika和collective.documentviewer,坑不夠大,在瘋掉前還是有希望成功的。buildout順利完成后顯示的是picked的組件名和版本號。

為了加快速度,我修改了tika.cfg,將下載慢的兩個最大文件用win下迅雷下載并上傳到/opt/share目錄中,改http://為file:///

#url = http://repo1.maven.org/maven2/org/apache/tika/tika-app/1.11/tika-app-1.11.jar url = file:///opt/share/tika-app-1.11.jar#url = http://repo1.maven.org/maven2/org/apache/tika/tika-server/1.11/tika-server-1.11.jar url = file:///opt/share/tika-server-1.11.jar

九、站點(diǎn)中安裝組件和配置組件

用root權(quán)限啟動服務(wù),在客戶機(jī)瀏覽器中訪問站點(diǎn),用admin登錄(站點(diǎn)不登錄是不可能被改動的,下文不再強(qiáng)調(diào))

admin-網(wǎng)站設(shè)置-附加組件

可啟用附加組件
Document Viewer
Installs the collective.documentviewer package – (collective.documentviewer 5.0.1)
警告 此附加組件無法卸載!
ftw.tika
Apache Tika integration for Plone – (ftw.tika 2.9.0)

先只安裝ftw.tika,然后停掉服務(wù)

cd /opt/plone/zeocluster bin/plonectl stop

分別在debian中開兩個終端,分別用root權(quán)限運(yùn)行tika-server和Plone服務(wù),其中tika-server終端將滾屏顯示(服務(wù)器上訪問http://localhost:9998可以查看到tika的一個界面),Plone服務(wù)的會回到命令提示符下

cd /opt/plone/zeocluster bin/tika-server cd /opt/plone/zeocluster bin/plonectl start

添加新的條目-文件

上傳幾個中文文件名中文內(nèi)容的doc,docx,pdf(文本類,非圖片類),測試全文搜索是否生效,注意是文件內(nèi)容的全文檢索,文件名的檢索是Plone自帶的,不需要tika,實(shí)際上如果debian中安裝有wv(apt-get install wv),無tika組件的Plone也支持doc文件中文全文檢索,但docx的全文檢索是tika貢獻(xiàn)的功能(支持全文檢索的組件也不只tika一個,只是tika的前景應(yīng)是最好的)。全文檢索只是定位到文件的位置,并沒有文件實(shí)際內(nèi)容的預(yù)覽。

全文檢索功能正常后開始解決文檔預(yù)覽,Plone下文件無組件支持情況只能下載是無法預(yù)覽內(nèi)容的。

admin-網(wǎng)站設(shè)置-附加組件

安裝Document Viewer

同tika不同這個組件自身還要配置

admin-網(wǎng)站設(shè)置--附加組件配置-文檔管理系統(tǒng)設(shè)置-按文件類型自動布局

只有PDF被選中,增加鉤選Word Document,保存

十、解決collective.documentviewer的BUG

上傳一個中文內(nèi)容的docx文件,發(fā)現(xiàn)collective.documentviewer沒有生效,但是全文檢索是有效的,網(wǎng)頁中出現(xiàn)錯誤提示,但是點(diǎn)擊Show Document viewer Conversion Error鏈接無效

Info There was an error trying to convert the document. Maybe the document is encrypted, corrupt or malformed? Check log for details. 測試.docx Show Document Viewer Conversion Error

?用文本編輯器查看/opt/plone/zeocluster/var/client1/event.log文件末尾的內(nèi)容

Traceback (most recent call last):File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 598, in __call__pages = self.run_conversion()File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 428, in run_conversionreturn docsplit.convert(self.storage_dir, **args)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 324, in convertself.convert_to_pdf(path, filename, output_dir)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 280, in convert_to_pdfself._run_command(cmd)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 126, in _run_commandraise Exception(error) Exception: Command /usr/local/bin/docsplit pdf /tmp/tmpdfnKDQ/dump.docx --output /tmp/tmpdfnKDQ finished with return code 1 and output:terminate called after throwing an instance of 'com::sun::star::uno::RuntimeException' Aborted /var/lib/gems/1.8/gems/docsplit-0.7.6/lib/docsplit/pdf_extractor.rb:33:in `libre_office?': undefined method `match' for nil:NilClass (NoMethodError)from /var/lib/gems/1.8/gems/docsplit-0.7.6/lib/docsplit/pdf_extractor.rb:128:in `extract'from /var/lib/gems/1.8/gems/docsplit-0.7.6/lib/docsplit/pdf_extractor.rb:120:in `each'from /var/lib/gems/1.8/gems/docsplit-0.7.6/lib/docsplit/pdf_extractor.rb:120:in `extract'from /var/lib/gems/1.8/gems/docsplit-0.7.6/lib/docsplit.rb:65:in `extract_pdf'from /var/lib/gems/1.8/gems/docsplit-0.7.6/bin/../lib/docsplit/command_line.rb:47:in `run'from /var/lib/gems/1.8/gems/docsplit-0.7.6/bin/../lib/docsplit/command_line.rb:37:in `initialize'from /var/lib/gems/1.8/gems/docsplit-0.7.6/bin/docsplit:5:in `new'from /var/lib/gems/1.8/gems/docsplit-0.7.6/bin/docsplit:5from /usr/local/bin/docsplit:23:in `load'from /usr/local/bin/docsplit:23------ 2018-08-10T01:42:44 INFO ftw.tika Converting document with tika JAXRS server: 測試.docx

在網(wǎng)上搜索了一下有兩篇文章似乎提供了解決辦法

?一是

https://github.com/collective/collective.documentviewer/issues/11

?建議修改docsplit的組件/var/lib/gems/1.8/gems/docsplit-0.7.6/lib/docsplit/pdf_extractor.rb

二是

https://pypi.org/project/collective.documentviewer/

建議修改/tmp和/var/tmp的權(quán)限,增加粘滯位。

經(jīng)實(shí)測都不解決問題。繼續(xù)分析出錯日志中,運(yùn)行出錯命令是

/usr/local/bin/docsplit pdf /tmp/tmpdfnKDQ/dump.docx --output /tmp/tmpdfnKDQ

查看一下相應(yīng)目錄

# ls -l /tmp/tmpdfnKDQ -rw------- 1 plone_daemon plone_group 41139 8月 10 01:42 dump.docx

?用root用戶執(zhí)行出錯日志中的命令

# /usr/local/bin/docsplit pdf /tmp/tmpdfnKDQ/dump.docx --output /tmp/tmpdfnKDQ

居然沒有報錯

用root用戶查看一下相應(yīng)目錄

# ls -l /tmp/tmpdfnKDQ -rw------- 1 plone_daemon plone_group 41139 8月 10 01:42 dump.docx -rw-r--r-- 1 root root 143352 8月 10 01:51 dump.pdf drwxr-xr-x 3 root root 4096 8月 10 01:51 libreoffice

發(fā)現(xiàn)轉(zhuǎn)換pdf文件已成功,用相應(yīng)軟件打開這個pdf也正常。既然root用戶可以,而plone_daemon用戶不行那一定是權(quán)限問題,排除pdf_extractor.rb的問題,因?yàn)槟瞧恼陆鉀Q的是不能識別LiberOffice的問題,癥狀應(yīng)該是root用戶或任何用戶都運(yùn)行出錯。增加粘滯位是從權(quán)限角度,但是很容易證明也不能解決問題。

我想既然root用戶運(yùn)行可行,那就讓代碼調(diào)用docsplit時運(yùn)行sudo docsplit,問題在于sudo時會要求輸入root密碼,只適用交互界面,代碼需要附加的解決辦法,后來發(fā)現(xiàn)sudoers可以配置成不需要root密碼。這當(dāng)然會有一定的安全問題,本文只是原型測試,只能先把功能搞定,以后有時間再去找最優(yōu)方案,新建配置文件

joe /etc/sudoers.d/plone_daemon

只有一行,為什么要加入/bin/rm后文會解釋

plone_daemon ALL = NOPASSWD:/usr/local/bin/docsplit,/bin/rm

?joe /opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py找到271行

def convert_to_pdf(self, filepath, filename, output_dir):# get ext from filenameext = os.path.splitext(os.path.normcase(filename))[1][1:]inputfilepath = os.path.join(output_dir, 'dump.%s' % ext)shutil.move(filepath, inputfilepath)orig_files = set(os.listdir(output_dir))cmd = [self.binary, 'pdf', inputfilepath,'--output', output_dir]self._run_command(cmd)

?在self.binary前加入 '/usr/bin/sudo',

def convert_to_pdf(self, filepath, filename, output_dir):# get ext from filenameext = os.path.splitext(os.path.normcase(filename))[1][1:]inputfilepath = os.path.join(output_dir, 'dump.%s' % ext)shutil.move(filepath, inputfilepath)orig_files = set(os.listdir(output_dir))cmd = ['/usr/bin/sudo', self.binary, 'pdf', inputfilepath,'--output', output_dir]self._run_command(cmd)

?重啟服務(wù),繼續(xù)測試,仍然出錯,界面出錯信息沒有任何有用的信息,繼續(xù)分析LOG,用文本編輯器查看/opt/plone/zeocluster/var/client1/event.log文件末尾的內(nèi)容,內(nèi)容改變了,好兆頭。LOG顯示“---sudo docsplit pdf---"部分已完成了,出錯的是后續(xù)部分

------ 2018-08-10T22:02:54 INFO collective.documentviewer Running command /usr/bin/sudo /usr/local/bin/docsplit pdf /tmp/tmpBsifva/dump.docx --output /tmp/tmpBsifva ------ 2018-08-10T22:03:07 INFO collective.documentviewer Finished Running Command /usr/bin/sudo /usr/local/bin/docsplit pdf /tmp/tmpBsifva/dump.docx --output /tmp/tmpBsifva ------ 2018-08-10T22:03:07 ERROR collective.documentviewer Error converting PDF:Traceback (most recent call last):File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 598, in __call__pages = self.run_conversion()File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 428, in run_conversionreturn docsplit.convert(self.storage_dir, **args)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 324, in convertself.convert_to_pdf(path, filename, output_dir)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 289, in convert_to_pdfshutil.rmtree(libreOfficePath)File "/opt/plone/Python-2.7/lib/python2.7/shutil.py", line 261, in rmtreermtree(fullname, ignore_errors, onerror)File "/opt/plone/Python-2.7/lib/python2.7/shutil.py", line 253, in rmtreeonerror(os.listdir, path, sys.exc_info())File "/opt/plone/Python-2.7/lib/python2.7/shutil.py", line 251, in rmtreenames = os.listdir(path) OSError: [Errno 13] Permission denied: '/tmp/tmpBsifva/libreoffice/3' Traceback (most recent call last):File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 598, in __call__pages = self.run_conversion()File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 428, in run_conversionreturn docsplit.convert(self.storage_dir, **args)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 324, in convertself.convert_to_pdf(path, filename, output_dir)File "/opt/plone/buildout-cache/eggs/collective.documentviewer-5.0.1-py2.7.egg/collective/documentviewer/convert.py", line 289, in convert_to_pdfshutil.rmtree(libreOfficePath)File "/opt/plone/Python-2.7/lib/python2.7/shutil.py", line 261, in rmtreermtree(fullname, ignore_errors, onerror)File "/opt/plone/Python-2.7/lib/python2.7/shutil.py", line 253, in rmtreeonerror(os.listdir, path, sys.exc_info())File "/opt/plone/Python-2.7/lib/python2.7/shutil.py", line 251, in rmtreenames = os.listdir(path) OSError: [Errno 13] Permission denied: '/tmp/tmpBsifva/libreoffice/3' ------ 2018-08-10T22:03:07 INFO ftw.tika Converting document with tika JAXRS server: 測試.docx

出錯的是shutil.rmtree(libreOfficePath),并且是permission denied錯誤,經(jīng)過分析,/tmp/tmpBsifva臨時目錄中除了生成新的pdf文件外還有一個libreoffice目錄,由于docsplit是sudo為root權(quán)限建立的,plone_daemon用戶沒有權(quán)限刪除這個目錄導(dǎo)至出錯,解決辦法就是刪除目錄也用sudo調(diào)用的/bin/rm代替shutil.rmtree。/etc/sudoers中已經(jīng)加好了plone_daemon用戶無需root密碼sudo運(yùn)行/bin/rm,按相同原則將所有docsplit調(diào)用前都加上'/usr/bin/sudo',對應(yīng)四個參數(shù)?"images","text","length",'pdf'所在行。再將shutil.rmtree(libreOfficePath)和shutil.rmtree(storage_dir)都改成系統(tǒng)調(diào)用

os.system('/usr/bin/sudo /bin/rm -fr %s' % (libreOfficePath,)) os.system('/usr/bin/sudo /bin/rm -fr %s' % (storage_dir,))

?測試過程中還出現(xiàn)過finished with return code ......?and output:后的內(nèi)容encodeing編碼出錯,找到106行

def _run_command(self, cmd):if isinstance(cmd, basestring):cmd = cmd.split()cmdformatted = ' '.join(cmd)logger.info("Running command %s" % cmdformatted)process = subprocess.Popen(cmd, stdout=subprocess.PIPE,stderr=subprocess.PIPE, close_fds=self.close_fds)output, error = process.communicate()process.stdout.close()process.stderr.close()if process.returncode != 0:error = """Command %s finished with return code %i and output: %s %s""" % (cmdformatted, process.returncode, output, error)logger.info(error)raise Exception(error)logger.info("Finished Running Command %s" % cmdformatted)return output

?顯示出錯信息時出錯,好奇葩,沒工夫去解決,搞定了還是不能解決最初的錯誤,把output, error和對應(yīng)的兩個%s刪掉了事。

生成patch:diff -uN convert.py convert.py.ok >convert501.py.diff,以后重裝時在convert.py同一目錄中patch -p0 <convert501.py.diff

--- convert.py 2018-08-10 23:14:20.068147869 +0800 +++ convert.py.ok 2018-08-10 23:02:37.864147759 +0800 @@ -120,8 +120,7 @@finished with return code%iand output: -%s -%s""" % (cmdformatted, process.returncode, output, error) +""" % (cmdformatted, process.returncode,)logger.info(error)raise Exception(error)logger.info("Finished Running Command %s" % cmdformatted) @@ -224,7 +223,7 @@# docsplit images pdf.pdf --size 700x,300x,50x# --format gif --outputcmd = [ - self.binary, "images", filepath, + '/usr/bin/sudo', self.binary, "images", filepath,'--language', lang,'--size', ','.join([str(s[1]) + 'x' for s in sizes]),'--format', format, @@ -251,7 +250,7 @@output_dir = os.path.join(output_dir, TEXT_REL_PATHNAME)ocr = not ocr and 'no-' or ''cmd = [ - self.binary, "text", filepath, + '/usr/bin/sudo', self.binary, "text", filepath,'--language', lang,'--%socr' % ocr,'--pages', 'all', @@ -265,7 +264,7 @@self._run_command(cmd)def get_num_pages(self, filepath): - cmd = [self.binary, "length", filepath] + cmd = ['/usr/bin/sudo', self.binary, "length", filepath]return int(self._run_command(cmd).strip())def convert_to_pdf(self, filepath, filename, output_dir): @@ -275,7 +274,7 @@shutil.move(filepath, inputfilepath)orig_files = set(os.listdir(output_dir))cmd = [ - self.binary, 'pdf', inputfilepath, + '/usr/bin/sudo', self.binary, 'pdf', inputfilepath,'--output', output_dir]self._run_command(cmd)@@ -286,7 +285,9 @@# folder next to the generated PDF, removes it!libreOfficePath = os.path.join(output_dir, 'libreoffice')if os.path.exists(libreOfficePath): - shutil.rmtree(libreOfficePath) + os.system('/usr/bin/sudo /bin/rm -fr %s' % (libreOfficePath,)) + #shutil.rmtree(libreOfficePath) + pass# move the file to the right location nowfiles = set(os.listdir(output_dir)) @@ -481,7 +482,8 @@files[filename] = saveFileToBlob(filepath)settings.blob_files = files - shutil.rmtree(storage_dir) + os.system('/usr/bin/sudo /bin/rm -fr %s' % (storage_dir,)) + #shutil.rmtree(storage_dir)# check for old storage to remove... Just in case.old_storage_dir = os.path.join(gsettings.storage_location,

重啟plone讓改動生效后上傳docx成功預(yù)覽,原型測試結(jié)束。

=================================

其他值得探索的功能及需求

一、異步支持

上傳一個文件時,轉(zhuǎn)換預(yù)覽很慢,collective.documentviewer同時支持plone.app.async和collective.celery進(jìn)行異步轉(zhuǎn)換,上傳時可以迅速返回,實(shí)際轉(zhuǎn)換在后臺運(yùn)行,還可以查看進(jìn)度,但是網(wǎng)上的文章都是Plone4的,只找到一篇Plone5使用collective.celery的文章。

https://www.codesyntax.com/en/blog/collective-documentviewer-with-redis-backed-celery-tasks-on-plone-4-and-5

文章中兩個指向https://gist.github.com的鏈接,不能直接打開,但網(wǎng)頁的確存在,原因~!@#¥%&*()+

二、中文目錄(路徑)中文文件名的ID

已上傳的文件ID變成ASCII碼和數(shù)字構(gòu)成,下載時原文件名被破壞,作為一個文檔管理系統(tǒng),文件名也是一種重要信息,最理想情況下可以用FTP將整個目錄和子目錄及文件上傳到Plone,Plone提供可識別的文檔全文檢索和預(yù)覽功能,不應(yīng)該破壞原信息,必要時還要可以用FTP從Plone原封不動地下載回來。

三、搜索結(jié)果及目錄內(nèi)容列表時的截取部分匹配上下文預(yù)覽

搜索引擎都有這樣的功能,搜索結(jié)果及目錄內(nèi)容列表時每一條目下應(yīng)有其部分文本內(nèi)容的截取,搜索結(jié)果中最理想情況下應(yīng)截取出現(xiàn)關(guān)鍵詞的前后文,同時關(guān)鍵詞突出顯示。這個功能對用戶快速定位自己需要的條目非常重要,用戶不必一個個點(diǎn)開全文預(yù)覽。

四、權(quán)限和工作流

禁止匿名用戶查看任何內(nèi)容,對登錄用戶也有部分內(nèi)容保密,不會在搜索結(jié)果中包含。

五、與apache或nginx的整合

新建Plone站點(diǎn)時有一個選項(xiàng)似乎與Plone直接將文件系統(tǒng)資源提供用戶訪問相關(guān),但更通用的情況是與apache或nginx的整合

Static resource storage A folder for storing and serving static resource files

一是超大文件應(yīng)存在文件系統(tǒng)中,或者已經(jīng)在文件系統(tǒng)中,整合apache或nginx性能上有優(yōu)勢。整合還有登錄認(rèn)證的整合

六、嵌入在線視頻播放器、圖片thumb、代碼高亮

視頻、圖片、代碼也是重要的文檔形式,

視頻要支持本地視頻,也要支持遠(yuǎn)程視頻服務(wù)器提供的資源。

網(wǎng)上有一個項(xiàng)目plumi是基于Plone4.2的視頻分享項(xiàng)目

https://plumi.org https://github.com/plumi/plumi.app/

這個項(xiàng)目使用的播放器是

https://pypi.org/project/collective.flowplayer/

這個組件的主頁上顯示支持Plone4,不過嵌入在線視頻播放器應(yīng)該不難辦到。

七、pin所有組件版本

如果不pin所有組件版本,在將來buildout時可能會取來最新版本組件,也許就不支持Plone5了,為了防止這種情況,將所有組件版本號在buildout.cfg的[versions]固定。

總結(jié)

以上是生活随笔為你收集整理的小试debian-7.11.0-amd64+Plone5.1.2全文检索和预览中文WORD中文PDF的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

久草视频视频在线播放 | 欧美一二三区在线播放 | 91激情在线视频 | 在线观看的av网站 | 激情久久婷婷 | 久久精品直播 | 久久午夜免费观看 | 九九欧美| 永久免费观看视频 | 日本在线观看中文字幕无线观看 | 亚洲精品18p| 色五月情 | 日韩免费视频一区二区 | 日韩精品中文字幕久久臀 | 亚洲成aⅴ人片久久青草影院 | 最近日韩中文字幕中文 | 欧美国产精品一区二区 | 久久久久电影网站 | 在线观看免费视频你懂的 | 四虎影视www | 天天干天天干天天操 | 91香蕉视频720p | 久久亚洲在线 | 久草在线视频精品 | 992tv在线观看 | а天堂中文最新一区二区三区 | 97视频入口免费观看 | 久久综合操 | 九九av | 在线综合 亚洲 欧美在线视频 | 欧美日韩国产一区二区三区在线观看 | 在线免费观看国产黄色 | 欧美电影在线观看 | 六月久久婷婷 | 成人免费观看网址 | 伊人五月婷 | 天天天射 | 美女激情影院 | 国产伦精品一区二区三区无广告 | 在线精品一区二区 | 欧美一二三在线 | 久久综合色综合88 | 高清av网站| 欧美精品免费一区二区 | 麻豆国产精品视频 | 麻豆小视频在线观看 | 日日操夜 | 欧美日韩国产一区二区三区在线观看 | 91av久久| 色99中文字幕 | 日韩视频免费播放 | 狠狠操狠狠插 | 精品国产一区二区三区四区vr | 天天综合日日夜夜 | 久久久久亚洲精品男人的天堂 | 久久综合狠狠综合 | 国产免码va在线观看免费 | 亚洲国产资源 | av免费试看 | 国产专区免费 | 国产精品久久久久9999 | 黄色字幕网 | 九九在线精品视频 | 在线视频中文字幕一区 | 欧美日韩久久不卡 | 在线国产片 | 狠狠操操操 | 99综合视频 | 日韩成人精品在线观看 | 九九九九九九精品任你躁 | 亚洲午夜精品久久久久久久久久久久 | 日韩av快播电影网 | 一区二区三区电影大全 | 天天久久夜夜 | 国产在线2020| 免费a现在观看 | 欧美人zozo | 色网免费观看 | 久久99久久99 | 91九色视频导航 | 视频一区二区在线观看 | 激情影音先锋 | 久久精品国产v日韩v亚洲 | 国产高清专区 | 欧美做受高潮电影o | 中文字幕永久在线 | 天天射天 | 综合伊人av | 婷婷色综合色 | 成人午夜电影在线观看 | 久久五月激情 | 久久黄色片 | 97超碰在线免费观看 | 最新中文字幕在线观看视频 | 欧美日高清视频 | 免费福利在线播放 | 精品伊人久久久 | 91在线一区 | 五月婷婷六月丁香在线观看 | 国产美女在线免费观看 | 久草综合视频 | 久草在线综合 | 精品国产91亚洲一区二区三区www | 国产精品大尺度 | 精品视频一区在线 | 国产91精品在线播放 | 日日操夜夜操狠狠操 | 亚洲一区不卡视频 | 久久www免费人成看片高清 | 久久久久免费精品 | 久久免费99精品久久久久久 | 欧美韩国在线 | 国产最顶级的黄色片在线免费观看 | 天天做天天爱天天爽综合网 | 久久99精品久久久久久秒播蜜臀 | 欧美日在线观看 | 97在线免费| 久久天堂网站 | 天天射天天干天天操 | 久久久国产精品网站 | 91精品国产91热久久久做人人 | 亚洲伊人天堂 | 人人玩人人添人人澡超碰 | 久久成人国产精品 | 中文字幕免费观看 | 九九视频在线 | 久久久国产在线视频 | 97超碰人人在线 | 精品国内 | 久久视频 | a在线观看视频 | 成人在线播放av | 久艹视频在线观看 | 日韩 国产 | 日韩三级在线 | 国产精品一区二区美女视频免费看 | 欧美十八 | japanesexxxhd奶水 91在线精品一区二区 | 在线视频免费观看 | 国产精品美女久久 | 日韩h在线观看 | 日本丶国产丶欧美色综合 | 毛片区| 丁香六月在线观看 | 色网站在线免费 | 国产精品福利在线播放 | www.久艹| 精品高清视频 | 91激情视频在线观看 | 成人国产精品一区二区 | 亚洲视频axxx | 91九色精品女同系列 | 丁香免费视频 | 中文av在线天堂 | 欧美激情综合五月色丁香 | 亚洲成人国产精品 | 91理论电影 | 精品一区二区电影 | 国产精品av免费 | 亚洲天堂网在线播放 | 亚洲精品合集 | 精品久久久久免费极品大片 | 狠狠色伊人亚洲综合成人 | 亚洲精品电影在线 | 国外成人在线视频网站 | 国产视频在线免费 | 天天射综合网站 | 久久综合中文色婷婷 | 麻豆高清免费国产一区 | 色婷婷a| 91香蕉视频在线下载 | 日韩精品一区二区三区中文字幕 | 91资源在线免费观看 | 超碰人人舔 | 天天干com| 狠狠干狠狠操 | 91久久久国产精品 | 麻豆传媒电影在线观看 | 五月综合在线观看 | 综合色久| 成人免费看片98欧美 | 亚洲综合爱 | 摸bbb搡bbb搡bbbb| 欧美极品少妇xbxb性爽爽视频 | 日韩免费一区二区三区 | 私人av| 最近更新的中文字幕 | 日韩成人高清在线 | 操处女逼| 五月婷婷一级片 | 久久99久久99精品免观看粉嫩 | 亚洲综合欧美精品电影 | 国内精品久久久久国产 | 天天爱天天草 | 国产福利中文字幕 | 日日夜夜91| 极品久久久久久久 | 国产精品一区二区久久久久 | 日b视频国产 | 激情欧美国产 | 在线看毛片网站 | 精品久久久久久国产偷窥 | 在线免费观看麻豆 | 手机看片中文字幕 | 亚洲 欧洲av | 国产五月色婷婷六月丁香视频 | 久久久久久高潮国产精品视 | 成人午夜电影久久影院 | 97夜夜澡人人双人人人喊 | 安徽妇搡bbbb搡bbbb | www.人人草| 中文字幕丰满人伦在线 | 六月丁香在线视频 | 天天操天天干天天操天天干 | 国产白浆在线观看 | 岛国av在线免费 | 精品一区二区亚洲 | 97在线观看视频国产 | 色中文字幕在线观看 | 久久亚洲欧美日韩精品专区 | 午夜久久网站 | 国产精品免费观看久久 | 韩国av电影在线观看 | 亚洲综合激情 | 在线日韩一区 | 国内精品视频免费 | 黄色成人影院 | 亚洲国产欧美一区二区三区丁香婷 | 一区二区视频在线播放 | 一区二区三区在线免费观看视频 | 99精品视频在线观看视频 | 久操视频在线免费看 | 婷婷在线色 | 免费观看www7722午夜电影 | 欧美一区二区三区在线看 | 91原创在线观看 | 丁香五月缴情综合网 | 波多野结衣在线播放一区 | 欧美日韩性视频在线 | 麻豆91在线看 | 亚洲精品在线国产 | 久久国产电影院 | 精品国产自 | 国产999精品久久久影片官网 | 久久久久久久久久久精 | 激情导航 | 久久精品九色 | 欧美性生活免费 | 欧美另类高潮 | 99人久久精品视频最新地址 | 国产精品第一视频 | 久久久网址 | 国产成人av在线 | 国产麻豆电影在线观看 | 色亚洲网 | 精品在线观看一区二区 | 国产精品久久久久av | 深爱婷婷| 亚洲精品视频网站在线观看 | 99在线精品视频观看 | 免费精品在线 | 成人免费观看完整版电影 | 亚洲精品资源 | 成人av一区二区兰花在线播放 | 99久久精品免费看 | 九草视频在线 | 国产日韩欧美自拍 | 91mv.cool在线观看 | 少妇高潮流白浆在线观看 | 一区二区三区免费 | 日韩免费成人av | 亚洲国产欧美在线人成大黄瓜 | 99久热在线精品视频观看 | 一级免费看视频 | 国产精品一区二区视频 | 免费视频91 | 国产精品99久久久久久小说 | 日韩视频在线不卡 | 精品中文字幕在线播放 | 国产原创在线 | 亚洲人在线| 人人涩 | 麻豆国产在线播放 | 国产精品久久久久久久久久久不卡 | 欧美日产在线观看 | 欧美在线观看禁18 | 丝袜一区在线 | 色婷婷成人网 | 五月婷在线播放 | 天天曰天天| 久久精品久久99精品久久 | 久久婷婷丁香 | 日韩美一区二区三区 | 亚洲最大在线视频 | 国产精品福利在线播放 | 免费av网址大全 | 中文字幕在线影视资源 | 国产精品永久免费 | 日日干天夜夜 | 国产精品露脸在线 | 成人免费在线观看电影 | 在线看片中文字幕 | 国产精品久久久久久久久久直播 | 日批视频在线观看免费 | 美女国产精品 | av黄色av | 99久久99久久 | 亚洲精选国产 | 日日久视频 | 欧美色图p| 97在线公开视频 | 亚洲 精品在线视频 | 国产精品自在欧美一区 | 国产精品久久久久av | 在线日韩中文 | 国产九色在线播放九色 | 亚洲另类视频在线 | 开心激情网五月天 | 女人18毛片90分钟 | 五月婷婷婷婷婷 | 天天色天天射天天干 | 97热视频 | 欧美一级性生活 | 精品久久久久久久久久久久久久久久久久 | 日韩三级视频在线观看 | 激情影音| 国产成人精品一区二区三区福利 | av天天草| aaa日本高清在线播放免费观看 | 免费黄av | 免费视频成人 | 久久免费视频4 | 婷婷丁香色 | 五月丁色| 久草在线视频首页 | 一区二区三区手机在线观看 | 婷婷免费视频 | 久久国内免费视频 | 免费观看的黄色片 | 欧美最新另类人妖 | 韩日电影在线观看 | 国产精品原创视频 | 久久久www成人免费精品张筱雨 | 成人av久久 | 国产精品中文字幕av | 在线电影a | 亚洲综合小说 | 成人av影视| 六月色丁 | av在线网站免费观看 | 午夜视频免费在线观看 | 久久精品国产免费观看 | 福利视频网站 | 美女视频免费精品 | 美女视频黄是免费的 | 国产第页 | 国产五月色婷婷六月丁香视频 | 免费av在线| 国产高清成人 | 国产999精品久久久久久绿帽 | 超碰电影在线观看 | 久久96国产精品久久99漫画 | 在线观看中文字幕第一页 | 日韩激情影院 | 久久激情视频免费观看 | 精品毛片久久久久久 | 国产性xxxx| 国产精品久久久久av福利动漫 | 精品久久久久久久久久久院品网 | 国产精品久久久久三级 | 激情喷水| 亚洲综合色视频 | 日韩精品大片 | 中文字幕精品三级久久久 | 国际av在线| 青青河边草观看完整版高清 | 久久超碰在线 | 婷婷伊人网 | 99久久超碰中文字幕伊人 | 国产精品免费观看在线 | 激情网站网址 | 最新国产精品视频 | 99热这里只有精品免费 | 99久热精品 | 国产无套精品久久久久久 | 日韩久久一区 | 国产精品成人一区二区三区吃奶 | 日韩高清在线不卡 | 欧美了一区在线观看 | 欧美夫妻生活视频 | 国产亚洲精品成人av久久影院 | 国产黄色电影 | a国产精品| 天堂网一区 | 粉嫩av一区二区三区免费 | 欧美一区视频 | 亚洲精品乱码久久久久久按摩 | 久久久久亚洲国产 | 日韩电影一区二区在线观看 | 996久久国产精品线观看 | 操操操综合 | 成人h动漫精品一区二 | 五月天电影免费在线观看一区 | 日本三级国产 | japanese黑人亚洲人4k | 久久久久成人精品亚洲国产 | 国产一区二区三区免费视频 | 久久一区国产 | 超碰人人草人人 | 99在线精品免费视频九九视 | 久久久国产一区二区三区 | 日韩视频 一区 | 最近中文字幕在线中文高清版 | 99久久久久久久久 | 久久高清精品 | 久九视频 | 欧美一区二区三区四区夜夜大片 | 成人在线视频免费观看 | 久久精品一二三 | 国产永久网站 | 激情网在线视频 | 91精品国产九九九久久久亚洲 | 91福利在线导航 | 国产精品视频app | 亚洲日b视频 | 亚洲免费小视频 | 国产精品久久久久久久久久了 | 亚洲电影图片小说 | 国产精品久久久久久久av大片 | 网站在线观看你们懂的 | 色综合久久中文字幕综合网 | 婷婷六月在线 | 中文字幕第一页在线视频 | 毛片美女网站 | 国产色视频123区 | 91传媒视频在线观看 | 国产精品成人自拍 | 天天草av | 日韩电影在线观看一区二区三区 | 青青河边草免费视频 | 夜色在线资源 | 欧美ⅹxxxxxx| 九九久久久| 一本一本久久aa综合精品 | 色偷偷88888欧美精品久久 | 在线看国产 | www国产亚洲精品久久麻豆 | 成人午夜免费福利 | 黄色av观看 | 久久在视频 | 人人爽人人射 | 久久精品国产v日韩v亚洲 | 欧美日韩精品在线一区二区 | 日韩欧美91| 99色99| 狠狠狠狠狠狠狠狠干 | 天天天天综合 | 婷婷久久亚洲 | 色婷婷色 | 日韩中文字幕免费看 | 久草免费福利在线观看 | 久久精品www人人爽人人 | 成人av久久| 国产午夜免费视频 | 天天操夜操视频 | 日本久久影视 | 日本巨乳在线 | 四虎影视成人永久免费观看亚洲欧美 | 国产高h视频 | 99视频国产精品 | 天天操天天射天天操 | 天天摸天天舔天天操 | 视频99爱 | 中文一区在线观看 | 成人精品一区二区三区电影免费 | 狠狠色综合网站久久久久久久 | 国产色妞影院wwwxxx | 国产福利在线 | 99久久精品免费看国产麻豆 | 看片网站黄色 | 91九色国产在线 | 亚洲国产网站 | 免费网站色 | 欧美日韩不卡一区二区三区 | 日韩中文在线视频 | 亚洲精品国产日韩 | 亚洲视频中文 | 一区二区三区日韩精品 | 国产在线观看你懂得 | 成人作爱视频 | 精品色综合 | 欧美日韩视频在线观看一区二区 | 亚洲精品成人av在线 | 日日夜操| 日本精品久久久久中文字幕5 | 久久久免费观看完整版 | 久草在线中文888 | 亚洲最大的av网站 | 久久久免费观看 | 国产成人久久精品亚洲 | 亚洲成人家庭影院 | 久久视频免费在线 | 久久视频在线观看免费 | 日韩精品在线观看视频 | 中文字幕 国产专区 | 日韩电影在线观看中文字幕 | av永久网址| 久久成人国产 | 五月婷婷色播 | 国产精品久久免费看 | 久久久久亚洲精品成人网小说 | 一区二区三区在线看 | www.91成人 | 五月天综合网站 | 日韩色在线观看 | 国产一级精品视频 | 午夜精品久久久久久久99 | 91九色丨porny丨丰满6 | 久久久久久亚洲精品 | 激情久久伊人 | 久久这里只有精品视频99 | 91麻豆文化传媒在线观看 | 日韩亚洲在线 | 日韩18p| 香蕉国产91 | 亚洲综合色视频在线观看 | 久久另类小说 | 久久精品视频在线免费观看 | 波多野结衣理论片 | 成人一级黄色片 | 国产精品免费人成网站 | 在线免费高清视频 | 99精品视频在线观看视频 | 天天天综合网 | 国产亚洲婷婷 | 99久久久国产精品免费99 | 99视频在线观看视频 | 欧美日韩在线视频一区 | 亚洲免费a | 天天天色综合 | www.亚洲精品在线 | 久久精品中文字幕一区二区三区 | av一二三区 | 天天干天天操 | 国产精品亚洲成人 | 天天色天天骑天天射 | 999热视频 | 在线观看日本高清mv视频 | 国产亚洲情侣一区二区无 | 夜夜躁狠狠燥 | 日本性xxxxx| 天天爱天天操天天爽 | 亚洲影音先锋 | 国产精品免费久久久久久 | 久艹视频在线观看 | 深爱开心激情网 | 国产福利久久 | 国产精品福利无圣光在线一区 | 亚洲专区视频在线观看 | 久久99网| 91黄色在线视频 | 九九日九九操 | 国产精品综合在线 | 久久9精品| 丁香午夜 | avcom在线 | 一本一本久久a久久精品综合妖精 | www.久久久精品 | 丁香午夜 | 99亚洲国产 | 五月开心六月婷婷 | 欧美成人h版在线观看 | 国产精品一区二区美女视频免费看 | 高潮毛片无遮挡高清免费 | 国产91在线播放 | 欧美精品久久久久久久 | 久操久 | 久久精品5| 国产亚洲视频在线免费观看 | 天天操天天射天天插 | 一本大道久久精品懂色aⅴ 五月婷社区 | 亚洲成人黄色网址 | 日韩在线视频精品 | 欧美最爽乱淫视频播放 | 三级免费黄色 | 在线观看一区二区精品 | 亚洲资源片 | 午夜久久影院 | 久久精品一区二区 | 日日夜夜天天射 | 久久久久久久久久久高潮一区二区 | 人人草人人草 | 国产一二三四在线观看视频 | 综合铜03| 国产精品11| 91精品国自产在线 | 欧美日本高清视频 | 91中文字幕在线观看 | 九热精品| 香蕉色综合 | 2024国产精品视频 | 欧美精品在线视频 | 嫩小bbbb摸bbb摸bbb | 久久国产精品99久久久久 | 狠狠色丁香婷婷综合欧美 | 日韩在线视频国产 | 久久影院精品 | 在线观看视频精品 | 亚洲乱码中文字幕综合 | 天天天干天天射天天天操 | 久久躁日日躁aaaaxxxx | 欧美日韩免费网站 | 久久综合99| 在线观看成人网 | 日本一区二区三区视频在线播放 | 亚洲欧美日韩精品久久久 | 国产精品亚洲精品 | 91视频下载 | 久久看片 | 黄色一级免费网站 | 国产一区国产精品 | 日韩电影在线一区二区 | 亚洲最大的av网站 | a在线观看视频 | 婷婷激情在线 | 尤物九九久久国产精品的分类 | 最新av观看 | 国产午夜亚洲精品 | 成年人免费av | 久久不射影院 | 手机在线日韩视频 | 操天天操 | 天天射天天爱天天干 | 欧美日韩亚洲在线 | 又爽又黄又刺激的视频 | 国产精久久久久久久 | 黄色在线免费观看网址 | 91精品久久久久久久91蜜桃 | 亚洲电影第一页av | 黄在线免费看 | 狠狠干天天射 | 国产天天综合 | 黄色午夜| 在线中文字幕一区二区 | 奇米影音四色 | 亚洲精品高清一区二区三区四区 | 国产分类视频 | 九九热免费在线视频 | 91亚州 | 99c视频高清免费观看 | 波多野结衣一区二区三区中文字幕 | 色偷偷88888欧美精品久久久 | 亚洲资源在线网 | 免费久久99精品国产婷婷六月 | 日韩在线免费不卡 | 涩涩网站在线播放 | 一区二区三区免费在线观看视频 | 日本69hd | 日韩精品影视 | 欧美精品免费一区二区 | .精品久久久麻豆国产精品 亚洲va欧美 | 亚洲理论电影网 | 中文字幕色站 | 在线观看国产一区二区 | 久久久免费国产 | 天天操夜夜操国产精品 | 国产福利av| 中文字幕在线看视频国产 | 香蕉视频4aa | 91精品国产成人观看 | 欧美综合色在线图区 | 中文字幕永久 | 久久久久国产精品一区二区 | 天天草天天操 | 天天草综合 | 欧美伊人网| 国产成人av一区二区三区在线观看 | av福利在线 | 免费视频一区二区 | 伊人影院在线观看 | 色婷婷亚洲婷婷 | 亚洲视频资源在线 | 麻豆视频在线观看免费 | 国产精品6999成人免费视频 | 日韩啪啪小视频 | 久久精品亚洲精品国产欧美 | 国产高清视频网 | 黄色大片免费网站 | 国产精品欧美久久久久三级 | 久草在在线 | 色视频网站免费观看 | 国产一线二线三线性视频 | 久久久久久免费 | 成片免费观看视频 | 一本一道久久a久久综合蜜桃 | 国外成人在线视频网站 | 日韩av在线免费看 | 国产在线视频导航 | 久久国产精品精品国产色婷婷 | 国产精品四虎 | 日韩免费高清在线 | 三级黄色a | 久久精品99 | 久久国产精品色婷婷 | 人人爽人人爽人人片av免 | 久久天天躁狠狠躁亚洲综合公司 | 手机在线看a | 国产高清视频在线播放 | 天天爽人人爽夜夜爽 | 日韩精品三区四区 | 国产精品第二十页 | 亚洲成人av片在线观看 | 久久久久国产免费免费 | 91麻豆精品国产91久久久久久 | 国产成人一区二区精品非洲 | 久草精品视频在线看网站免费 | 麻豆久久精品 | 青草视频免费观看 | 亚洲最新av在线网站 | 国产午夜精品一区二区三区嫩草 | 人人草天天草 | 久久免费视频5 | 九九精品视频在线观看 | 午夜视频在线观看网站 | 日韩av男人的天堂 | aⅴ精品av导航 | 婷婷视频在线播放 | 久久麻豆精品 | 免费日韩一级片 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲一二区精品 | 久久综合色8888 | 毛片网站免费 | 日本不卡123区 | 日韩中文字幕在线观看 | 亚洲污视频| 国产成人一区二区三区 | 久久精品视频在线 | 99精品久久精品一区二区 | 免费在线观看成人av | 日韩高清不卡一区二区三区 | 色丁香婷婷 | 最新91在线视频 | 美女久久久久久久 | 久久99精品久久只有精品 | 99视频久久 | 欧美久久电影 | 日本免费一二三区 | 日韩精品免费在线观看视频 | 一区二区国产精品 | 久久综合导航 | 国产精品成人一区二区三区 | 国产亚洲精品久久久久久无几年桃 | 日韩精品久久久久久中文字幕8 | www国产一区 | 69国产盗摄一区二区三区五区 | 99久久精品国产亚洲 | 久久久久久美女 | 97超碰人 | 九七视频在线观看 | 97偷拍视频| 狠狠狠色丁香综合久久天下网 | 中文在线免费视频 | 亚洲永久精品在线 | 天天操福利视频 | 免费在线观看日韩 | 99热这里| 天天插夜夜操 | av丝袜在线 | 国产拍揄自揄精品视频麻豆 | 一区二区三区四区免费视频 | 人人爽人人爽人人爽学生一级 | 色综合久久精品 | av一区二区三区在线 | 精品一区二区免费视频 | 成人亚洲免费 | 99热精品免费观看 | 夜夜操天天摸 | www.黄色小说.com | 国产精品99久久久久久人免费 | 日韩精品一区二区三区视频播放 | 亚洲乱码中文字幕综合 | 欧美日韩亚洲一 | 国产女人18毛片水真多18精品 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 日韩精品综合在线 | 波多野结衣久久精品 | 日韩中文字幕免费在线观看 | 麻豆影视在线免费观看 | 中文字幕av在线播放 | 久久久久久久久久久免费 | www.久艹| 三级av片 | 国产专区第一页 | 日本中文字幕视频 | 国产亚洲精品xxoo | 四虎在线免费观看 | 综合激情伊人 | 一区二区三区动漫 | 国产精品黄色影片导航在线观看 | 久久久久一区二区三区四区 | 色偷偷88888欧美精品久久久 | 久久99国产精品免费 | 91精品免费看 | 免费精品在线观看 | 亚洲五月综合 | 国产看片网站 | 92精品国产成人观看免费 | 天堂中文在线视频 | 国产精品激情在线观看 | 日韩精品一区二区免费 | 国产一区二区三区高清播放 | 在线电影中文字幕 | 欧美伦理一区二区 | 色综合人人 | 韩日在线一区 | 久草在线免费看视频 | 成人久久久久久久久久 | 91完整版| 中文亚洲欧美日韩 | 国产精品久久久久久五月尺 | www.亚洲视频 | 成人一区二区在线观看 | 91桃花视频 | 麻豆 91 在线 | 91麻豆精品久久久久久 | 一区av在线播放 | 深爱激情五月网 | 国产中文字幕在线视频 | 久久免费视频4 | 日韩免费一级电影 | 91桃色在线观看视频 | 九九免费视频 | 五月婷久久 | 亚洲成av人片在线观看香蕉 | 国产黄色看片 | 日本三级全黄少妇三2023 | 国内精品视频久久 | 国产精品 日韩 | 日韩夜夜爽 | 2019天天干天天色 | 中文字幕国产精品 | 中文字幕丝袜美腿 | 成人资源在线观看 | 黄色片网站大全 | 国产99精品 | 97免费在线观看视频 | 色综合久久88色综合天天6 | 日韩理论片中文字幕 | 免费av网站在线看 | 三级视频日韩 | 国产成人免费在线观看 | 91av在线不卡| 日韩免费高清在线观看 | 992tv在线观看网站 | 国产亚洲精品成人av久久ww | av成人动漫在线观看 | 成年人视频免费在线播放 | 色婷婷综合久久久久 | www五月| 亚洲欧美经典 | 久久久精品视频网站 | 久久久久久毛片 | 一区二区三区在线观看免费 | 亚洲午夜精品电影 | 亚洲免费高清视频 | 国产高清视频在线观看 | 国内精品久久久久影院一蜜桃 | av.com在线 | 欧美不卡视频在线 | 99视频国产在线 | 成人免费视频免费观看 | 黄色aaa毛片 | 天天操天天操天天爽 | 日韩av在线资源 | 国产91亚洲精品 | 国偷自产中文字幕亚洲手机在线 | 国产精品综合久久久 | 不卡国产在线 | 一区二区精品在线 | 久久国产精品99久久久久久进口 | 天天干天天射天天爽 | 欧美色图亚洲图片 | 成人免费在线视频 | 精品久久99 | 亚洲一区二区三区毛片 | 蜜臀久久99精品久久久无需会员 | 国产一区不卡在线 | 久草精品在线播放 | 精品久久久久久亚洲综合网 | 久久成人麻豆午夜电影 | 韩日电影在线观看 | 91在线国产观看 | 在线不卡中文字幕播放 | 精品欧美一区二区三区久久久 | 久久久久久片 | 麻豆传媒视频在线免费观看 | 亚洲免费成人 | 日韩视频免费观看高清完整版在线 | 欧美日韩一区二区三区在线免费观看 | 一区在线电影 | 国语黄色片| 狠狠操.com | 欧美日韩中文另类 | 在线观看日本韩国电影 | 成人a级大片 | 日日夜夜综合网 | 少妇bbw搡bbbb搡bbb | 亚洲国产中文字幕在线视频综合 | 欧美淫aaa免费观看 日韩激情免费视频 | 蜜臀久久99精品久久久无需会员 | 久久在线看| 欧美一级淫片videoshd | 国产精品久久久久一区 | 亚洲高清视频在线观看免费 | 成人禁用看黄a在线 | 激情综合色综合久久综合 | 久久国产精品色婷婷 | 久久久久成人精品免费播放动漫 | 人人干干人人 | 91尤物在线播放 | 人人爽人人乐 | 天天干天天弄 | 五月婷婷激情 | 免费观看第二部31集 | 国产精品伦一区二区三区视频 | 国产在线小视频 | 国产午夜精品理论片在线 | 亚洲老妇xxxxxx | 国产又粗又猛又爽 | 欧美久久久久久久久久 | 97狠狠干| 欧美一区日韩一区 | 欧美一级欧美一级 | 日韩欧美在线高清 | 久久视频网址 | 国产精品porn | 天天操福利视频 | 亚洲免费a | 91久久国产露脸精品国产闺蜜 | 69久久久 | 天天爱天天射天天干天天 | 色香蕉在线视频 | 日韩久久精品一区二区三区下载 | 超碰97av在线 | 久久精品一区二区三区中文字幕 | 国产一区二区视频在线播放 | 亚洲国产精品va在线看黑人动漫 | 人人澡人人干 | 一级一级一片免费 | 亚洲精品在线观看视频 | 久久99免费| 久久中文字幕视频 | 亚洲色综合 | 欧美日韩在线视频一区二区 | 狠狠狠狠狠狠天天爱 | 国产黄色播放 | 欧洲高潮三级做爰 | 黄a网| 国产色婷婷 | 超碰在线观看av | 九九热免费视频在线观看 | 日韩免费一区二区三区 | 一级一级一片免费 | 精品国产免费一区二区三区五区 | 日本在线观看一区二区三区 | 精品国产1区2区 | 婷婷丁香在线视频 | 24小时日本在线www免费的 | 国产一二三四在线观看视频 | 日韩系列在线 | 伊人婷婷网| 91成人精品一区在线播放69 | 亚洲粉嫩av | 五月综合色婷婷 | 久久99最新地址 | 免费a级观看 | 国产一区二区免费在线观看 | 国产一级二级在线观看 | 午夜精品福利一区二区三区蜜桃 | 日韩激情视频在线 | 色片网站在线观看 | 黄色视屏免费在线观看 | 91桃色在线播放 | 久久视频这里有久久精品视频11 | 99精品热| 国产自在线观看 | 在线天堂日本 | 亚洲国产精品第一区二区 | 色99久久 | 国产超碰在线观看 | 天天干天天干天天干天天干天天干天天干 | 日韩免费小视频 | 国产一区自拍视频 | 色99久久| 99精品视频网 | 欧美高清视频不卡网 | 天天干夜夜干 |