Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
erp5
Commits
dc08ee50
Commit
dc08ee50
authored
Feb 09, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dms: remove unused code from DocumentManagement extension
parent
274d6b8e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
74 deletions
+5
-74
bt5/erp5_dms/ExtensionTemplateItem/portal_components/extension.erp5.DocumentManagement.py
...em/portal_components/extension.erp5.DocumentManagement.py
+5
-74
No files found.
bt5/erp5_dms/ExtensionTemplateItem/portal_components/extension.erp5.DocumentManagement.py
View file @
dc08ee50
...
...
@@ -25,76 +25,17 @@
#
##############################################################################
import
zipfile
,
cStringIO
,
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
()
import
re
def
getLastWorkflowDate
(
self
,
state_name
=
'simulation_state'
,
state
=
(
'released'
,
'public'
)):
'''we can make something more generic out of it
or JP says "there is an API for it" and we trash this one'''
if
not
hasattr
(
self
,
'workflow_history'
):
return
None
for
wflow
in
self
.
workflow_history
.
values
():
if
wflow
is
None
or
len
(
wflow
)
==
0
:
continue
# empty history
if
wflow
[
0
].
get
(
state_name
)
is
None
:
continue
# not the right one
if
wflow
is
None
or
len
(
wflow
)
==
0
:
continue
# empty history
if
wflow
[
0
].
get
(
state_name
)
is
None
:
continue
# not the right one
for
i
in
range
(
len
(
wflow
)):
ch
=
wflow
[
-
1
-
i
]
act
=
ch
.
get
(
'action'
,
''
)
...
...
@@ -105,16 +46,6 @@ def getLastWorkflowDate(self, state_name='simulation_state', state=('released','
#############################################################################
# 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
):
"""
extract parameters given in mail body
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment