Commit dc08ee50 authored by Jérome Perrin's avatar Jérome Perrin

dms: remove unused code from DocumentManagement extension

parent 274d6b8e
Pipeline #34445 failed with stage
in 0 seconds
...@@ -25,76 +25,17 @@ ...@@ -25,76 +25,17 @@
# #
############################################################################## ##############################################################################
import zipfile, cStringIO, re import re
import xmlrpclib, base64
from Products.CMFCore.utils import getToolByName
def extractContent(data):
"""
extract text content from ODF data
directly by unzipping (no need for oood here)
"""
# XXX probably not used - to really get text content it should
# strip xml too
cs = cStringIO.StringIO()
cs.write(data)
try:
z = zipfile.ZipFile(cs)
except zipfile.BadZipfile:
cs.close()
return ''
s = z.read('content.xml')
cs.close()
z.close()
return s
###### XXX these methods repeat what is in OOoDocument class
# maybe redundant, but we need to access them from Script (Python)
def convertToOdf(self, name, data):
"""
convert data into ODF format
to be used in ingestion when we don't yet have an ERP5 object
to work with (and we for example have to figure out portal_type)
"""
sp = mkProxy(self)
kw = sp.run_convert(name,base64.encodestring(data))
odf = base64.decodestring(kw['data'])
return odf
def mkProxy(self):
pref = getToolByName(self,'portal_preferences')
adr = pref.getPreferredDmsOoodocServerAddress()
nr = pref.getPreferredDmsOoodocServerPortNumber()
if adr is None or nr is None:
raise Exception('you should set conversion server coordinates in preferences')
sp = xmlrpclib.ServerProxy('http://%s:%d' % (adr,nr), allow_none=True)
return sp
def generateFile(self, name, data, format): # pylint: disable=redefined-builtin
sp = mkProxy(self)
kw = sp.run_generate(name, data, None, format)
res = base64.decodestring(kw['data'])
return res
def getAttrFromFilename(self, fname):
"""
parse file name using regexp specified in preferences
"""
rx_parse = re.compile(self.portal_preferences.getPreferredDmsFilenameRegexp())
m = rx_parse.match(fname)
if m is None:
return {}
return m.groupdict()
def getLastWorkflowDate(self, state_name='simulation_state', state=('released','public')): def getLastWorkflowDate(self, state_name='simulation_state', state=('released','public')):
'''we can make something more generic out of it '''we can make something more generic out of it
or JP says "there is an API for it" and we trash this one''' or JP says "there is an API for it" and we trash this one'''
if not hasattr(self, 'workflow_history'): if not hasattr(self, 'workflow_history'):
return None return None
for wflow in self.workflow_history.values(): for wflow in self.workflow_history.values():
if wflow is None or len(wflow) == 0: continue # empty history if wflow is None or len(wflow) == 0:
if wflow[0].get(state_name) is None: continue # not the right one continue # empty history
if wflow[0].get(state_name) is None:
continue # not the right one
for i in range(len(wflow)): for i in range(len(wflow)):
ch = wflow[-1-i] ch = wflow[-1-i]
act = ch.get('action', '') act = ch.get('action', '')
...@@ -105,16 +46,6 @@ def getLastWorkflowDate(self, state_name='simulation_state', state=('released',' ...@@ -105,16 +46,6 @@ def getLastWorkflowDate(self, state_name='simulation_state', state=('released','
############################################################################# #############################################################################
# Mail management # Mail management
def findAddress(txt):
"""
find email address in a string
"""
validchars = r'0-9A-Za-z.\-_'
r=re.compile('[%s]+@[%s]+' % (validchars,validchars))
m=r.search(txt)
return m and m.group()
def extractParams(txt): def extractParams(txt):
""" """
extract parameters given in mail body extract parameters given in mail body
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment