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
Labels
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Jérome Perrin
erp5
Commits
a8db1208
Commit
a8db1208
authored
Jan 22, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
corporate_identity: py3
parent
de39dc95
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
106 additions
and
70 deletions
+106
-70
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
...erp5_corporate_identity/Base_getTemplateProxyParameter.py
+1
-1
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsLetter.py
...portal_skins/erp5_corporate_identity/Base_viewAsLetter.py
+5
-5
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsReport.py
...portal_skins/erp5_corporate_identity/Base_viewAsReport.py
+3
-3
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Presentation_viewAsSlideshow.py
...s/erp5_corporate_identity/Presentation_viewAsSlideshow.py
+24
-3
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_createTableOfContent.py
...s/erp5_corporate_identity/WebPage_createTableOfContent.py
+1
-1
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_embedReportDocumentList.py
...rp5_corporate_identity/WebPage_embedReportDocumentList.py
+13
-6
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsBook.py
...ortal_skins/erp5_corporate_identity/WebPage_viewAsBook.py
+16
-14
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsContract.py
...l_skins/erp5_corporate_identity/WebPage_viewAsContract.py
+12
-11
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsLeaflet.py
...al_skins/erp5_corporate_identity/WebPage_viewAsLeaflet.py
+11
-9
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsRelease.py
...al_skins/erp5_corporate_identity/WebPage_viewAsRelease.py
+11
-9
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsSlideshow.py
..._skins/erp5_corporate_identity/WebPage_viewAsSlideshow.py
+9
-8
No files found.
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_getTemplateProxyParameter.py
View file @
a8db1208
...
@@ -128,7 +128,7 @@ def populateOrganisationDict(my_organisation_list):
...
@@ -128,7 +128,7 @@ def populateOrganisationDict(my_organisation_list):
if
organisation_default_image
:
if
organisation_default_image
:
output_dict
[
"logo_url"
]
=
organisation_default_image
.
getRelativeUrl
()
output_dict
[
"logo_url"
]
=
organisation_default_image
.
getRelativeUrl
()
output_dict
[
"logo_data_url"
]
=
'data:image/png;;base64,%s'
%
(
output_dict
[
"logo_data_url"
]
=
'data:image/png;;base64,%s'
%
(
b64encode
(
organisation_default_image
.
convert
(
format
=
"png"
,
display
=
"thumbnail"
)[
1
])
b64encode
(
organisation_default_image
.
convert
(
format
=
"png"
,
display
=
"thumbnail"
)[
1
])
.
decode
()
)
)
else
:
else
:
output_dict
[
"logo_url"
]
=
err
(
"logo_url"
)
output_dict
[
"logo_url"
]
=
err
(
"logo_url"
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsLetter.py
View file @
a8db1208
...
@@ -256,9 +256,9 @@ if letter_format == "pdf":
...
@@ -256,9 +256,9 @@ if letter_format == "pdf":
)
)
# ================ encode and build cloudoo elements =========================
# ================ encode and build cloudoo elements =========================
embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_content
,
allow_script
=
True
)
embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
header_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_head
,
allow_script
=
True
)
header_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_foot
,
allow_script
=
True
)
footer_embedded_html_data
=
letter
.
Base_convertHtmlToSingleFile
(
letter_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
pdf_file
=
letter
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
pdf_file
=
letter
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
encoding
=
"utf8"
,
encoding
=
"utf8"
,
margin_top
=
letter_header_margin_to_top
,
margin_top
=
letter_header_margin_to_top
,
...
@@ -266,8 +266,8 @@ if letter_format == "pdf":
...
@@ -266,8 +266,8 @@ if letter_format == "pdf":
margin_left
=
0
,
margin_left
=
0
,
margin_right
=
0
,
margin_right
=
0
,
header_spacing
=
1
,
header_spacing
=
1
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
)
)
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Base_viewAsReport.py
View file @
a8db1208
...
@@ -269,10 +269,10 @@ if doc_format == "pdf":
...
@@ -269,10 +269,10 @@ if doc_format == "pdf":
margin_bottom
=
20
,
margin_bottom
=
20
,
toc
=
False
,
toc
=
False
,
before_toc_data_list
=
before_toc_data_list
,
before_toc_data_list
=
before_toc_data_list
,
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
),
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
)
.
decode
()
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
,
footer_spacing
=
3
,
)
)
default_conversion_kw
.
update
(
conversion_dict
)
default_conversion_kw
.
update
(
conversion_dict
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/Presentation_viewAsSlideshow.py
View file @
a8db1208
...
@@ -11,6 +11,8 @@ Try to convert old OpenOffice presentations into slideshows
...
@@ -11,6 +11,8 @@ Try to convert old OpenOffice presentations into slideshows
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
import
re
import
re
from
io
import
BytesIO
from
zipfile
import
ZipFile
blank
=
''
blank
=
''
flags
=
re
.
MULTILINE
|
re
.
DOTALL
|
re
.
IGNORECASE
flags
=
re
.
MULTILINE
|
re
.
DOTALL
|
re
.
IGNORECASE
...
@@ -18,8 +20,21 @@ flags = re.MULTILINE|re.DOTALL|re.IGNORECASE
...
@@ -18,8 +20,21 @@ flags = re.MULTILINE|re.DOTALL|re.IGNORECASE
def
getHeaderSlideTitle
(
my_doc
):
def
getHeaderSlideTitle
(
my_doc
):
return
'<h1>'
+
my_doc
.
getTitle
()
+
'</h1>'
return
'<h1>'
+
my_doc
.
getTitle
()
+
'</h1>'
def
getSlideList
(
content
):
def
getSlideList
(
zip_content
):
return
re
.
findall
(
r'<html>(.*?)</html>'
,
content
,
flags
=
flags
)
slide_list
=
[]
with
ZipFile
(
BytesIO
(
zip_content
))
as
zf
:
for
name
in
sorted
(
zf
.
namelist
(),
# iterate in order: 'tmpczlzod7e.impr.html', 'img1.html', 'text1.html', 'img2.html', 'text2.html'
key
=
lambda
name
:
(
not
name
.
endswith
(
'impr.html'
),
'img'
not
in
name
,
name
.
replace
(
'img'
,
''
).
replace
(
'text'
,
''
))):
if
name
.
endswith
(
'.html'
):
slide_list
.
extend
(
re
.
findall
(
r'<html>(.*?)</html>'
,
zf
.
read
(
name
).
decode
(
'utf-8'
),
flags
=
flags
)
)
return
slide_list
def
getKey
(
item
):
def
getKey
(
item
):
return
int
(
item
[
0
])
return
int
(
item
[
0
])
...
@@ -29,7 +44,11 @@ if context.getPortalType() in ["Presentation"]:
...
@@ -29,7 +44,11 @@ if context.getPortalType() in ["Presentation"]:
portal
=
context
.
getPortalObject
()
portal
=
context
.
getPortalObject
()
mimetype
=
'text/html'
mimetype
=
'text/html'
content_type
=
context
.
getContentType
()
content_type
=
context
.
getContentType
()
raw_data
=
portal
.
portal_transforms
.
convertToData
(
mimetype
,
bytes
(
context
.
getData
()
or
b""
),
context
=
context
,
mimetype
=
content_type
)
raw_data
=
portal
.
portal_transforms
.
convertToData
(
mimetype
,
bytes
(
context
.
getData
()
or
b""
),
context
=
context
,
mimetype
=
content_type
)
if
raw_data
is
None
:
if
raw_data
is
None
:
raise
ValueError
(
"Failed to convert to %r"
%
mimetype
)
raise
ValueError
(
"Failed to convert to %r"
%
mimetype
)
if
context
.
REQUEST
is
not
None
:
if
context
.
REQUEST
is
not
None
:
...
@@ -38,6 +57,8 @@ if context.getPortalType() in ["Presentation"]:
...
@@ -38,6 +57,8 @@ if context.getPortalType() in ["Presentation"]:
# get a list of slides
# get a list of slides
content
=
getSlideList
(
raw_data
)
content
=
getSlideList
(
raw_data
)
# ( comment below might be obsolete, this was before fixing a bug that we iterated
# directly in the binary data from .zip raw content, which was somehow OK on python2 )
# every slide is in the raw_data twice, once with the title and image as text,
# every slide is in the raw_data twice, once with the title and image as text,
# once with the slidecontent without title. All slides are mixed randomly, so
# once with the slidecontent without title. All slides are mixed randomly, so
# we need to find out which slide contains what and then put them in their
# we need to find out which slide contains what and then put them in their
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_createTableOfContent.py
View file @
a8db1208
...
@@ -15,7 +15,7 @@ import re
...
@@ -15,7 +15,7 @@ import re
from
Products.PythonScripts.standard
import
html_quote
from
Products.PythonScripts.standard
import
html_quote
blank
=
""
blank
=
""
header_current
=
1
header_current
=
'0'
header_initial
=
None
header_initial
=
None
table_of_content
=
blank
table_of_content
=
blank
index
=
0
index
=
0
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_embedReportDocumentList.py
View file @
a8db1208
...
@@ -10,6 +10,7 @@ Insert reports linked to in a document (including backcompat handling)
...
@@ -10,6 +10,7 @@ Insert reports linked to in a document (including backcompat handling)
# doc_format output format being generated
# doc_format output format being generated
import
re
import
re
import
six
document
=
context
document
=
context
...
@@ -28,10 +29,14 @@ def getReportViaFancyName(my_report_name, follow_up):
...
@@ -28,10 +29,14 @@ def getReportViaFancyName(my_report_name, follow_up):
if
method_call
is
not
None
:
if
method_call
is
not
None
:
# extra curl: Coverage report requires parameter details (1|0)
# extra curl: Coverage report requires parameter details (1|0)
if
coverage_name
:
if
coverage_name
:
return
method_call
(
display_comment
=
True
)[
0
].
encode
(
encoding
=
'UTF-8'
)
result
=
method_call
(
display_comment
=
True
)[
0
]
if
detail_name
:
elif
detail_name
:
return
method_call
(
format
=
'detailed'
,
display_detail
=
1
)[
0
].
encode
(
encoding
=
'UTF-8'
)
result
=
method_call
(
format
=
'detailed'
,
display_detail
=
1
)[
0
]
return
method_call
(
display_comment
=
True
)[
0
].
encode
(
encoding
=
'UTF-8'
)
else
:
result
=
method_call
(
display_comment
=
True
)[
0
]
if
six
.
PY2
:
result
=
result
.
encode
(
encoding
=
'UTF-8'
)
return
result
if
doc_content
.
find
(
'${WebPage_'
)
!=
-
1
:
if
doc_content
.
find
(
'${WebPage_'
)
!=
-
1
:
document_required_follow_up_list
=
[
x
.
getObject
()
for
x
in
document
.
portal_catalog
(
document_required_follow_up_list
=
[
x
.
getObject
()
for
x
in
document
.
portal_catalog
(
...
@@ -82,8 +87,10 @@ for link in re.findall('([^[]<a.*?</a>[^]])', doc_content):
...
@@ -82,8 +87,10 @@ for link in re.findall('([^[]<a.*?</a>[^]])', doc_content):
if
target_context
is
not
None
:
if
target_context
is
not
None
:
target_caller
=
getattr
(
target_context
,
report_name
,
None
)
target_caller
=
getattr
(
target_context
,
report_name
,
None
)
if
target_caller
is
not
None
:
if
target_caller
is
not
None
:
substitution_content
=
target_caller
(
**
link_param_dict
)
substitution_content
=
target_caller
(
**
link_param_dict
)[
0
]
if
six
.
PY2
:
substitution_content
=
substitution_content
.
encode
(
"utf-8"
)
# Note: switched to report returning a tuple with (content, header-title, header-subtitle)
# Note: switched to report returning a tuple with (content, header-title, header-subtitle)
doc_content
=
doc_content
.
replace
(
link
,
substitution_content
[
0
].
encode
(
"utf-8"
)
.
strip
())
doc_content
=
doc_content
.
replace
(
link
,
substitution_content
.
strip
())
return
doc_content
return
doc_content
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsBook.py
View file @
a8db1208
...
@@ -33,6 +33,7 @@ MAIN FILE: generate book in different output formats
...
@@ -33,6 +33,7 @@ MAIN FILE: generate book in different output formats
# display_svg format for svg images (svg, png*)
# display_svg format for svg images (svg, png*)
import
re
import
re
import
six
from
Products.PythonScripts.standard
import
html_quote
from
Products.PythonScripts.standard
import
html_quote
from
base64
import
b64encode
from
base64
import
b64encode
...
@@ -83,8 +84,7 @@ book_version = html_quote(override_document_version) if override_document_versio
...
@@ -83,8 +84,7 @@ book_version = html_quote(override_document_version) if override_document_versio
book_description
=
html_quote
(
override_document_description
)
if
override_document_description
else
book
.
getDescription
()
book_description
=
html_quote
(
override_document_description
)
if
override_document_description
else
book
.
getDescription
()
book_title
=
html_quote
(
override_document_title
)
if
override_document_title
else
book
.
getTitle
()
book_title
=
html_quote
(
override_document_title
)
if
override_document_title
else
book
.
getTitle
()
# unicode
if
six
.
PY2
and
isinstance
(
book_content
,
unicode
):
if
isinstance
(
book_content
,
unicode
):
book_content
=
book_content
.
encode
(
"UTF-8"
)
book_content
=
book_content
.
encode
(
"UTF-8"
)
# backcompat
# backcompat
...
@@ -197,7 +197,9 @@ if book_include_reference_table:
...
@@ -197,7 +197,9 @@ if book_include_reference_table:
#else:
#else:
# book_content = book_content.replace("${WebPage_insertTableOfReferences}", book_references.encode('UTF-8').strip())
# book_content = book_content.replace("${WebPage_insertTableOfReferences}", book_references.encode('UTF-8').strip())
book_references
=
book
.
Base_unescape
(
book_references
)
book_references
=
book
.
Base_unescape
(
book_references
)
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
book_references
.
encode
(
'UTF-8'
).
strip
())
if
six
.
PY2
:
book_references
=
book_references
.
encode
(
'utf-8'
)
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
book_references
.
strip
())
else
:
else
:
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
blank
)
book_content
=
book_content
.
replace
(
"${WebPage_insertTableOfReferences}"
,
blank
)
...
@@ -209,7 +211,7 @@ if book_include_content_table:
...
@@ -209,7 +211,7 @@ if book_include_content_table:
book_table_of_content
=
book
.
WebPage_createBookXslTableOfContent
(
book_table_of_content
=
book
.
WebPage_createBookXslTableOfContent
(
book_toc_title
=
book_translated_toc_title
,
book_toc_title
=
book_translated_toc_title
,
margin_15mm
=
margin_15mm
margin_15mm
=
margin_15mm
).
encode
(
'UTF-8'
).
strip
()
).
strip
()
elif
book_format
==
"html"
:
elif
book_format
==
"html"
:
book_content
,
book_table_of_content
=
book
.
WebPage_createTableOfContent
(
book_content
,
book_table_of_content
=
book
.
WebPage_createTableOfContent
(
doc_content
=
book_content
,
doc_content
=
book_content
,
...
@@ -357,22 +359,22 @@ elif book_format == "pdf":
...
@@ -357,22 +359,22 @@ elif book_format == "pdf":
)
)
# ================ encode and build cloudoo elements =========================
# ================ encode and build cloudoo elements =========================
header_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_head
,
allow_script
=
True
)
header_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
before_toc_data_list
=
[
before_toc_data_list
=
[
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_cover
,
allow_script
=
True
)),
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_cover
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
),
]
]
after_toc_data_list
=
[]
after_toc_data_list
=
[]
if
book_include_history_table
:
if
book_include_history_table
:
before_toc_data_list
.
append
(
before_toc_data_list
.
append
(
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_history
,
allow_script
=
True
))
b64encode
(
book
.
Base_convertHtmlToSingleFile
(
book_history
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
)
)
)
#if book_include_reference_table:
#if book_include_reference_table:
# after_toc_data_list.append(
# after_toc_data_list.append(
# b64encode(book.Base_convertHtmlToSingleFile(book_references, allow_script=True))
# b64encode(book.Base_convertHtmlToSingleFile(book_references, allow_script=True)
.encode('utf-8')).decode(
)
# )
# )
xsl_style_sheet_data
=
book_table_of_content
xsl_style_sheet_data
=
book_table_of_content
.
encode
(
'utf-8'
)
embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_content
,
allow_script
=
True
)
embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_foot
,
allow_script
=
True
)
footer_embedded_html_data
=
book
.
Base_convertHtmlToSingleFile
(
book_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
if
margin_15mm
:
if
margin_15mm
:
margin_top
=
50
margin_top
=
50
margin_bottom
=
25
margin_bottom
=
25
...
@@ -385,11 +387,11 @@ elif book_format == "pdf":
...
@@ -385,11 +387,11 @@ elif book_format == "pdf":
margin_bottom
=
margin_bottom
,
margin_bottom
=
margin_bottom
,
toc
=
True
if
book_include_content_table
else
False
,
toc
=
True
if
book_include_content_table
else
False
,
before_toc_data_list
=
before_toc_data_list
,
before_toc_data_list
=
before_toc_data_list
,
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
),
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
)
.
decode
()
,
after_toc_data_list
=
after_toc_data_list
,
after_toc_data_list
=
after_toc_data_list
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
,
footer_spacing
=
3
,
)
)
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsContract.py
View file @
a8db1208
import
re
import
re
import
six
from
base64
import
b64encode
from
base64
import
b64encode
blank
=
''
blank
=
b
''
pref
=
context
.
getPortalObject
().
portal_preferences
pref
=
context
.
getPortalObject
().
portal_preferences
contract_format
=
kw
.
get
(
'format'
)
or
'html'
contract_format
=
kw
.
get
(
'format'
)
or
'html'
...
@@ -35,7 +36,7 @@ contract_version = context.getVersion() or "001"
...
@@ -35,7 +36,7 @@ contract_version = context.getVersion() or "001"
contract_description
=
context
.
getDescription
()
contract_description
=
context
.
getDescription
()
contract_title
=
context
.
getTitle
()
contract_title
=
context
.
getTitle
()
if
isinstance
(
contract_content
,
unicode
):
if
six
.
PY2
and
isinstance
(
contract_content
,
unicode
):
contract_content
=
contract_content
.
encode
(
"UTF-8"
)
contract_content
=
contract_content
.
encode
(
"UTF-8"
)
contract_history_section_list
=
re
.
findall
(
'<section.+?>.+?</section>'
,
contract_content
,
re
.
S
)
contract_history_section_list
=
re
.
findall
(
'<section.+?>.+?</section>'
,
contract_content
,
re
.
S
)
...
@@ -289,22 +290,22 @@ elif contract_format == "pdf":
...
@@ -289,22 +290,22 @@ elif contract_format == "pdf":
)
)
# ================ encode and build cloudoo elements =========================
# ================ encode and build cloudoo elements =========================
header_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_head
,
allow_script
=
True
)
header_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
before_toc_data_list
=
[
before_toc_data_list
=
[
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_cover
,
allow_script
=
True
)),
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_cover
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
),
]
]
after_toc_data_list
=
[]
after_toc_data_list
=
[]
if
contract_include_history_table
:
if
contract_include_history_table
:
before_toc_data_list
.
append
(
before_toc_data_list
.
append
(
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_history
,
allow_script
=
True
))
b64encode
(
context
.
Base_convertHtmlToSingleFile
(
contract_history
,
allow_script
=
True
)
.
encode
(
'utf-8'
)).
decode
(
)
)
)
#if contract_include_reference_table:
#if contract_include_reference_table:
# after_toc_data_list.append(
# after_toc_data_list.append(
# b64encode(context.Base_convertHtmlToSingleFile(contract_references, allow_script=True))
# b64encode(context.Base_convertHtmlToSingleFile(contract_references, allow_script=True))
.decode()
# )
# )
xsl_style_sheet_data
=
contract_table_of_content
xsl_style_sheet_data
=
contract_table_of_content
embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_content
,
allow_script
=
True
)
embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_foot
,
allow_script
=
True
)
footer_embedded_html_data
=
context
.
Base_convertHtmlToSingleFile
(
contract_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
margin_top
=
40
margin_top
=
40
margin_bottom
=
20
margin_bottom
=
20
pdf_file
=
context
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
pdf_file
=
context
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
...
@@ -313,11 +314,11 @@ elif contract_format == "pdf":
...
@@ -313,11 +314,11 @@ elif contract_format == "pdf":
margin_bottom
=
margin_bottom
,
margin_bottom
=
margin_bottom
,
toc
=
True
if
contract_include_content_table
else
False
,
toc
=
True
if
contract_include_content_table
else
False
,
before_toc_data_list
=
before_toc_data_list
,
before_toc_data_list
=
before_toc_data_list
,
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
),
xsl_style_sheet_data
=
b64encode
(
xsl_style_sheet_data
)
.
decode
()
,
after_toc_data_list
=
after_toc_data_list
,
after_toc_data_list
=
after_toc_data_list
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
,
footer_spacing
=
3
,
)
)
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsLeaflet.py
View file @
a8db1208
...
@@ -22,6 +22,7 @@ MAIN FILE: render two pager in different output formats
...
@@ -22,6 +22,7 @@ MAIN FILE: render two pager in different output formats
# document_save: save file in document module (default None)
# document_save: save file in document module (default None)
import
re
import
re
import
six
from
Products.PythonScripts.standard
import
html_quote
from
Products.PythonScripts.standard
import
html_quote
from
base64
import
b64encode
from
base64
import
b64encode
...
@@ -146,10 +147,11 @@ if leaflet_display_side:
...
@@ -146,10 +147,11 @@ if leaflet_display_side:
)
)
#leaflet_content = leaflet_legalese.decode() + leaflet_content.decode()
#leaflet_content = leaflet_legalese.decode() + leaflet_content.decode()
if
isinstance
(
leaflet_legalese
,
unicode
):
if
six
.
PY2
:
leaflet_legalese
=
leaflet_legalese
.
encode
(
"UTF-8"
)
if
isinstance
(
leaflet_legalese
,
unicode
):
if
isinstance
(
leaflet_content
,
unicode
):
leaflet_legalese
=
leaflet_legalese
.
encode
(
"UTF-8"
)
leaflet_content
=
leaflet_content
.
encode
(
"UTF-8"
)
if
isinstance
(
leaflet_content
,
unicode
):
leaflet_content
=
leaflet_content
.
encode
(
"UTF-8"
)
leaflet_content
=
leaflet_legalese
+
leaflet_content
leaflet_content
=
leaflet_legalese
+
leaflet_content
...
@@ -255,9 +257,9 @@ if leaflet_format == "pdf":
...
@@ -255,9 +257,9 @@ if leaflet_format == "pdf":
)
)
# ================ encode and build cloudoo elements =========================
# ================ encode and build cloudoo elements =========================
embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_content
,
allow_script
=
True
)
embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
header_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_head
,
allow_script
=
True
)
header_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_foot
,
allow_script
=
True
)
footer_embedded_html_data
=
leaflet
.
Base_convertHtmlToSingleFile
(
leaflet_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
pdf_file
=
leaflet
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
pdf_file
=
leaflet
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
encoding
=
"utf8"
,
encoding
=
"utf8"
,
orientation
=
"portrait"
,
orientation
=
"portrait"
,
...
@@ -265,9 +267,9 @@ if leaflet_format == "pdf":
...
@@ -265,9 +267,9 @@ if leaflet_format == "pdf":
margin_bottom
=
20
,
margin_bottom
=
20
,
margin_left
=
0
,
margin_left
=
0
,
margin_right
=
0
,
margin_right
=
0
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
footer_spacing
=
3
)
)
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsRelease.py
View file @
a8db1208
...
@@ -21,6 +21,7 @@ MAIN FILE: render press release in different output formats
...
@@ -21,6 +21,7 @@ MAIN FILE: render press release in different output formats
# document_save: save file in document module (default None)
# document_save: save file in document module (default None)
import
re
import
re
import
six
from
base64
import
b64encode
from
base64
import
b64encode
blank
=
''
blank
=
''
...
@@ -137,10 +138,11 @@ if release_display_about:
...
@@ -137,10 +138,11 @@ if release_display_about:
release_relative_url
=
release_relative_url
,
release_relative_url
=
release_relative_url
,
)
)
#release_content = release_content.decode() + release_about.decode()
#release_content = release_content.decode() + release_about.decode()
if
isinstance
(
release_content
,
unicode
):
if
six
.
PY2
:
release_content
=
release_content
.
encode
(
"UTF-8"
)
if
isinstance
(
release_content
,
unicode
):
if
isinstance
(
release_about
,
unicode
):
release_content
=
release_content
.
encode
(
"UTF-8"
)
release_about
=
release_about
.
encode
(
"UTF-8"
)
if
isinstance
(
release_about
,
unicode
):
release_about
=
release_about
.
encode
(
"UTF-8"
)
release_content
=
release_content
+
release_about
release_content
=
release_content
+
release_about
...
@@ -226,9 +228,9 @@ if release_format == "pdf":
...
@@ -226,9 +228,9 @@ if release_format == "pdf":
)
)
# ================ encode and build cloudoo elements =========================
# ================ encode and build cloudoo elements =========================
embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_content
,
allow_script
=
True
)
embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_content
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
header_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_head
,
allow_script
=
True
)
header_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_head
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
footer_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_foot
,
allow_script
=
True
)
footer_embedded_html_data
=
release
.
Base_convertHtmlToSingleFile
(
release_foot
,
allow_script
=
True
)
.
encode
(
'utf-8'
)
pdf_file
=
release
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
pdf_file
=
release
.
Base_cloudoooDocumentConvert
(
embedded_html_data
,
"html"
,
"pdf"
,
conversion_kw
=
dict
(
encoding
=
"utf8"
,
encoding
=
"utf8"
,
orientation
=
"portrait"
,
orientation
=
"portrait"
,
...
@@ -236,9 +238,9 @@ if release_format == "pdf":
...
@@ -236,9 +238,9 @@ if release_format == "pdf":
margin_bottom
=
20
,
margin_bottom
=
20
,
margin_left
=
0
,
margin_left
=
0
,
margin_right
=
0
,
margin_right
=
0
,
header_html_data
=
b64encode
(
header_embedded_html_data
),
header_html_data
=
b64encode
(
header_embedded_html_data
)
.
decode
()
,
header_spacing
=
10
,
header_spacing
=
10
,
footer_html_data
=
b64encode
(
footer_embedded_html_data
),
footer_html_data
=
b64encode
(
footer_embedded_html_data
)
.
decode
()
,
footer_spacing
=
3
footer_spacing
=
3
)
)
)
)
...
...
bt5/erp5_corporate_identity/SkinTemplateItem/portal_skins/erp5_corporate_identity/WebPage_viewAsSlideshow.py
View file @
a8db1208
...
@@ -24,6 +24,7 @@ MAIN FILE: generate presentation in different output formats
...
@@ -24,6 +24,7 @@ MAIN FILE: generate presentation in different output formats
# remote_content: convert legacy odp, sxi formats (not active)
# remote_content: convert legacy odp, sxi formats (not active)
import
re
import
re
import
six
from
Products.PythonScripts.standard
import
html_quote
from
Products.PythonScripts.standard
import
html_quote
from
base64
import
b64encode
from
base64
import
b64encode
...
@@ -420,25 +421,25 @@ if doc_format == "pdf" or doc_format == "mhtml":
...
@@ -420,25 +421,25 @@ if doc_format == "pdf" or doc_format == "mhtml":
)
)
# ================ encode and build cloudoo elements =========================
# ================ encode and build cloudoo elements =========================
footer_embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_footer, allow_script=True)
footer_embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_footer, allow_script=True).encode('utf-8')
#embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True)
#embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True).encode('utf-8')
cover = doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True).encode('utf-8')
before_body_data_list = [
before_body_data_list = [
b64encode(
doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True)
),
b64encode(
cover).decode(
),
]
]
if doc_format == "
mhtml
":
if doc_format == "
mhtml
":
context.REQUEST.RESPONSE.setHeader("
Content
-
Type
", "
text
/
html
;
")
context.REQUEST.RESPONSE.setHeader("
Content
-
Type
", "
text
/
html
;
")
return doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True)
return doc.Base_convertHtmlToSingleFile(doc_slideshow_cover, allow_script=True)
if doc_display_notes:
if doc_display_notes:
#after_body_data_list = [
#after_body_data_list = [
# b64encode(doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)),
# b64encode(doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)
.encode('utf-8')).decode(
),
#]
#]
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_notes, allow_script=True)
.encode('utf-8')
after_body_data_list = []
after_body_data_list = []
else:
else:
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True)
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_slideshow_content, allow_script=True)
.encode('utf-8')
after_body_data_list = []
after_body_data_list = []
#after_body_data_list = []
#after_body_data_list = []
pdf_file = doc.Base_cloudoooDocumentConvert(embedded_html_data, "
html
", "
pdf
", conversion_kw=dict(
pdf_file = doc.Base_cloudoooDocumentConvert(embedded_html_data, "
html
", "
pdf
", conversion_kw=dict(
encoding="
utf8
",
encoding="
utf8
",
orientation= "
portrait
" if doc_display_notes else "
landscape
",
orientation= "
portrait
" if doc_display_notes else "
landscape
",
...
@@ -447,7 +448,7 @@ if doc_format == "pdf" or doc_format == "mhtml":
...
@@ -447,7 +448,7 @@ if doc_format == "pdf" or doc_format == "mhtml":
before_body_data_list=before_body_data_list,
before_body_data_list=before_body_data_list,
after_body_data_list=after_body_data_list,
after_body_data_list=after_body_data_list,
header_spacing=10,
header_spacing=10,
footer_html_data=b64encode(footer_embedded_html_data),
footer_html_data=b64encode(footer_embedded_html_data)
.decode()
,
footer_spacing=3
footer_spacing=3
)
)
)
)
...
...
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