logo       

Demande d'aide sur un script Python: msg#00373

web.zope.cps.general.french

Subject: Demande d'aide sur un script Python

(Version CPS : 3.3.4-2)

Bonjour,

J'ai modifié le script word_to_html.py pour qu'il soit compatible avec mon
environnement WINDOWS 2000 Pro. Tout me semble correct et pourtant ça ne
marche pas. Le document Word est bien inséré dans CPS mais pas de prévisu ni
d'indexation. Dans le "event.log", rien d'anormal :

2005-06-22T11:53:37 INFO(0) PortalTransforms PATH FROM application/msword TO
text/plain : [<Transform instance at 03259440>, <Transform instance at
03257710>]
------
2005-06-22T11:53:37 INFO(0) PortalTransforms PATH FROM application/msword TO
text/html : [<Transform instance at 03259440>]

Quand je lance en ligne de commande C:\Program Files\GnuWin32\bin\wvware.exe
c:\mon_doc.doc > c:\mon_doc.html, j'ai bien un document HTML qui est généré
correctement (donc wvware fonctionne bien) !

Quelqu'un aurait-il une idée ? Voici mon script :

*-----------------------------------------------------------------------*

from Products.PortalTransforms.interfaces import itransform
from Products.PortalTransforms.libtransforms.utils import basename, sansext
from Products.PortalTransforms.libtransforms.commandtransform \
import commandtransform from os import system

class word_to_html(commandtransform):
__implements__ = itransform
__name__ = "word_to_html"
inputs = ('application/msword',)
output = 'text/html'

binaryName = "C:\\Program Files\\GnuWin32\\bin\\wvware.exe"
binaryArgs = ""

def __init__(self):
commandtransform.__init__(self, binary=self.binaryName)

def convert(self, data, cache, **kwargs):

kwargs['filename'] = basename((kwargs.get('filename') or
'unknown.doc'))

tmpdir, fullname = self.initialize_tmpdir(data, **kwargs)
html = self.invokeCommand(tmpdir, fullname)
path, images = self.subObjects(tmpdir)
objects = {}
if images:
self.fixImages(path, images, objects)
self.cleanDir(tmpdir)
cache.setData(html)
cache.setSubObjects(objects)
return cache

def invokeCommand(self, tmpdir, fullname):
basename = sansext(fullname)
cmd = '%s %s %s > %s\\%s.html' % (self.binary, self.binaryArgs,
fullname, tmpdir, basename)
system(cmd)
try:
htmlfile = open("%s\\%s.html" % (tmpdir, basename))
html = htmlfile.read()
htmlfile.close()
except:
try:
return open("%s\\error_log" % tmpdir, 'r').read()
except:
return ''
return html

def register():

return word_to_html()



_______________________________________________
cps-users-fr
Adresse de la liste : cps-users-fr-FQDHc1wsLCVb90+sfpvX0g@xxxxxxxxxxxxxxxx
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise