1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
##############################################################################
#
# Copyright (c) 2002 Ingeniweb SARL
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################
"""
ZAttachmentAttribute product
"""
from config import *
import os
import string
from Products.ZAttachmentAttribute import ZAttachmentAttribute
from Products.ZAttachmentAttribute import ZAttachmentRegistry
from Products.ZAttachmentAttribute import ZAbstractAttachment
from Products.ZAttachmentAttribute.Log import *
class MSExcelAttachment(ZAbstractAttachment.ZAbstractAttachment):
"""
MSExcel file abstraction
"""
icon_file = "excel.gif"
small_icon_file = "excel_small.gif"
content_types = ('application/excel', 'application/x-excel', 'application/excel', 'application/x-msexcel', 'application/vnd.ms-excel', )
index_list = ()
def indexAttachment(self):
"""
indexAttachment(self) => index a MSExcel file and store it in the index variable.
This method is called only once (in the __init__) during the class's lifetime.
"""
fn = self.writeAttachmentFile()
return self.callConverter(CONVERTER_PROGRAM, "%s" % (fn, ))
def isPreviewAvailable(self,):
return 1
def convertPreview(self,):
"""
Let's convert things into pretty HTML !
"""
# Perform conversion and retreive files as well
fn = self.writeAttachmentFile()
try:
# Actual HTML conversion
ret = self.callConverter(CONVERTER_PROGRAM, "-nh %s" % (fn, ))
finally:
self.deleteAttachmentFile()
return self.stripBody(ret)
ZAttachmentRegistry.AttachmentRegistry.registerClass(MSExcelAttachment, globals())
|