Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos
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
5
Merge Requests
5
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
slapos
Commits
93c0a687
Commit
93c0a687
authored
Oct 25, 2023
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos.cookbook: remove generic.cloudooo
this is now inline in the software
parent
1d2fdbf4
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
248 deletions
+0
-248
setup.py
setup.py
+0
-1
slapos/recipe/generic_cloudooo/__init__.py
slapos/recipe/generic_cloudooo/__init__.py
+0
-131
slapos/recipe/generic_cloudooo/template/cloudooo.cfg.in
slapos/recipe/generic_cloudooo/template/cloudooo.cfg.in
+0
-52
slapos/test/recipe/test_generic_cloudooo.py
slapos/test/recipe/test_generic_cloudooo.py
+0
-64
No files found.
setup.py
View file @
93c0a687
...
...
@@ -103,7 +103,6 @@ setup(name=name,
'free_port = slapos.recipe.free_port:Recipe'
,
'generate.mac = slapos.recipe.random:Mac'
,
'generate.password = slapos.recipe.random:Password'
,
'generic.cloudooo = slapos.recipe.generic_cloudooo:Recipe'
,
'generic.kumofs = slapos.recipe.generic_kumofs:Recipe'
,
'generic.memcached = slapos.recipe.generic_memcached:Recipe'
,
'generic.mysql.wrap_update_mysql = slapos.recipe.generic_mysql:WrapUpdateMySQL'
,
...
...
slapos/recipe/generic_cloudooo/__init__.py
deleted
100644 → 0
View file @
1d2fdbf4
##############################################################################
#
# Copyright (c) 2011 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
functools
import
cmp_to_key
import
zc.buildout
from
slapos.recipe.librecipe
import
GenericBaseRecipe
@
cmp_to_key
def
compareMimetypeEntryPair
(
a
,
b
):
"""
Like comparing strings, but here the star `*` is stronger than any other
character.
"""
i
=
0
for
i
in
range
(
min
(
len
(
a
),
len
(
b
))):
if
a
[
i
]
!=
b
[
i
]:
if
a
[
i
]
==
"*"
:
return
1
if
b
[
i
]
==
"*"
:
return
-
1
if
a
[
i
]
<
b
[
i
]:
return
-
1
if
a
[
i
]
>
b
[
i
]:
return
1
return
0
if
a
[
i
:
i
+
1
]:
return
1
if
b
[
i
:
i
+
1
]:
return
-
1
return
0
default_mimetype_entry_list
=
[
"application/vnd.oasis.opendocument* * ooo"
,
"application/vnd.sun.xml* * ooo"
,
"application/pdf text/* pdf"
,
"application/pdf * ooo"
,
"video/* * ffmpeg"
,
"audio/* * ffmpeg"
,
"application/x-shockwave-flash * ffmpeg"
,
"application/ogg * ffmpeg"
,
"application/ogv * ffmpeg"
,
"image/png image/jpeg imagemagick"
,
"image/png * ooo"
,
"image/* image/* imagemagick"
,
"text/* * ooo"
,
"application/zip * ooo"
,
"application/msword * ooo"
,
"application/vnd* * ooo"
,
"application/x-vnd* * ooo"
,
"application/postscript * ooo"
,
"application/wmf * ooo"
,
"application/csv * ooo"
,
"application/x-openoffice-gdimetafile * ooo"
,
"application/x-emf * ooo"
,
"application/emf * ooo"
,
"application/octet* * ooo"
,
"* application/vnd.oasis.opendocument* ooo"
,
"application/vnd.openxmlformats-officedocument.wordprocessingml.document application/x-asc-text x2t"
,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/x-asc-spreadsheet x2t"
,
"application/vnd.openxmlformats-officedocument.presentationml.presentation application/x-asc-presentation x2t"
,
"application/x-asc-text application/vnd.openxmlformats-officedocument.wordprocessingml.document x2t"
,
"application/x-asc-spreadsheet application/vnd.openxmlformats-officedocument.spreadsheetml.sheet x2t"
,
"application/x-asc-presentation application/vnd.openxmlformats-officedocument.presentationml.presentation x2t"
,
"application/vnd.oasis.opendocument.text application/x-asc-text x2t"
,
"application/vnd.oasis.opendocument.spreadsheet application/x-asc-spreadsheet x2t"
,
"application/vnd.oasis.opendocument.presentation application/x-asc-presentation x2t"
,
"application/x-asc-text application/vnd.oasis.opendocument.text x2t"
,
"application/x-asc-spreadsheet application/vnd.oasis.opendocument.spreadsheet x2t"
,
"application/x-asc-presentation application/vnd.oasis.opendocument.presentation x2t"
,
]
class
Recipe
(
GenericBaseRecipe
):
def
install
(
self
):
path_list
=
[]
conversion_server_dict
=
dict
(
working_path
=
self
.
options
[
'data-directory'
],
uno_path
=
self
.
options
[
'ooo-uno-path'
],
office_binary_path
=
self
.
options
[
'ooo-binary-path'
],
ip
=
self
.
options
[
'ip'
],
port
=
int
(
self
.
options
[
'port'
]),
openoffice_port
=
int
(
self
.
options
[
'openoffice-port'
]),
ooo_enable_scripting
=
self
.
options
.
get
(
'ooo_enable_scripting'
,
'false'
),
)
environment_variable_list
=
[]
for
env_line
in
self
.
options
[
'environment'
].
splitlines
():
env_line
=
env_line
.
strip
()
if
not
env_line
:
continue
if
'='
in
env_line
:
env_key
,
env_value
=
env_line
.
split
(
'='
)
environment_variable_list
.
append
((
env_key
.
strip
(),
env_value
.
strip
()))
else
:
raise
zc
.
buildout
.
UserError
(
'Line %r in environment parameter is '
'incorrect'
%
env_line
)
conversion_server_dict
[
'ENVIRONMENT_VARIABLE_LIST'
]
=
'
\
n
'
.
join
(
[
'env-%s = %s'
%
(
key
,
value
)
for
key
,
value
in
environment_variable_list
]
)
mimetype_entry_list
=
[
l
.
strip
()
for
l
in
self
.
options
.
get
(
'mimetype_entry_addition'
,
''
).
splitlines
()
if
l
and
not
l
.
isspace
()
]
mimetype_entry_list
.
extend
(
default_mimetype_entry_list
)
mimetype_entry_list
.
sort
(
key
=
compareMimetypeEntryPair
)
conversion_server_dict
[
'MIMETYPE_ENTRY_LIST'
]
=
\
"
\
n
"
.
join
([
" "
+
l
for
l
in
mimetype_entry_list
])
config_file
=
self
.
createFile
(
self
.
options
[
'configuration-file'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'cloudooo.cfg.in'
),
conversion_server_dict
))
path_list
.
append
(
config_file
)
path_list
.
append
(
self
.
createPythonScript
(
self
.
options
[
'wrapper'
],
'slapos.recipe.librecipe.execute.execute_with_signal_translation'
,
((
self
.
options
[
'ooo-paster'
].
strip
(),
'serve'
,
config_file
),)))
return
path_list
slapos/recipe/generic_cloudooo/template/cloudooo.cfg.in
deleted
100644 → 0
View file @
1d2fdbf4
[app:main]
use = egg:cloudooo
#
## System config
#
debug_mode = True
# Folder where pid files, lock files and virtual frame buffer mappings
# are stored. In this folder is necessary create a folder tmp, because this
# folder is used to create all temporary documents.
working_path = %(working_path)s
# Folder where UNO library is installed
uno_path = %(uno_path)s
# Folder where soffice.bin is installed
office_binary_path = %(office_binary_path)s
# Whether running scripts on the loaded document is allowed
ooo_enable_scripting = %(ooo_enable_scripting)s
#
## Monitor Settings
#
# Limit to use the Openoffice Instance. if pass of the limit, the instance is
# stopped and another is started.
limit_number_request = 100
# Interval to check the factory
monitor_interval = 10
timeout_response = 180
enable_memory_monitor = True
# Set the limit in MB
# e.g 1000 = 1 GB, 100 = 100 MB
limit_memory_used = 3000
#
## OOFactory Settings
#
# The pool consist of several OpenOffice.org instances
application_hostname = %(ip)s
# OpenOffice Port
openoffice_port = %(openoffice_port)s
# LD_LIBRARY_PATH and other environment variables
# passed to OpenOffice
%(ENVIRONMENT_VARIABLE_LIST)s
#
# Mimetype Registry
# It is used to select the handler that will be used in conversion.
# Priority matters, first match take precedence on next lines.
mimetype_registry =
%(MIMETYPE_ENTRY_LIST)s
[server:main]
use = egg:PasteScript#wsgiutils
host = %(ip)s
port = %(port)s
slapos/test/recipe/test_generic_cloudooo.py
deleted
100644 → 0
View file @
1d2fdbf4
import
os
import
sys
import
unittest
from
tempfile
import
mkdtemp
from
shutil
import
rmtree
class
TestGenericCloudooo
(
unittest
.
TestCase
):
def
new_recipe
(
self
,
options
):
from
slapos.recipe
import
generic_cloudooo
from
slapos.test.utils
import
makeRecipe
return
makeRecipe
(
generic_cloudooo
.
Recipe
,
options
=
options
,
name
=
'generic_cloudooo'
)
def
setUp
(
self
):
self
.
test_dir
=
mkdtemp
()
def
tearDown
(
self
):
if
os
.
path
.
exists
(
self
.
test_dir
):
rmtree
(
self
.
test_dir
)
def
test_install
(
self
):
# Basic check
config_file_path
=
os
.
path
.
join
(
self
.
test_dir
,
"test_install_configuration_file_etc_cloudooo-X.cfg"
)
recipe
=
self
.
new_recipe
({
"ip"
:
"test_install_ip"
,
"environment"
:
"test_install=environment"
,
"mimetype_entry_addition"
:
"text/install mimetype/entry addition"
,
"ooo-binary-path"
:
"test_install_ooo_binary_path"
,
"ooo-paster"
:
"test_install_ooo_paster"
,
"ooo-uno-path"
:
"test_ooo_uno_path"
,
"port"
:
"123"
,
"openoffice-port"
:
"234"
,
"configuration-file"
:
config_file_path
,
"data-directory"
:
os
.
path
.
join
(
self
.
test_dir
,
"test_install_data_directory_srv_cloudooo-X"
),
"wrapper"
:
os
.
path
.
join
(
self
.
test_dir
,
"test_install_wrapper_service_cloudooo-X"
),
})
recipe
.
install
()
data
=
open
(
config_file_path
).
read
()
self
.
assertIn
(
"[app:main]"
,
data
)
self
.
assertIn
(
"[server:main]"
,
data
)
# Check if mimetype_registry is well ordered
self
.
assertIn
(
"
\
n
text/install mimetype/entry addition
\
n
text/* * ooo
\
n
"
,
data
)
# Check OnlyOffice entries
self
.
assertIn
(
"
\
n
"
.
join
([
""
,
" application/vnd.openxmlformats-officedocument.presentationml.presentation application/x-asc-presentation x2t"
,
" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/x-asc-spreadsheet x2t"
,
" application/vnd.openxmlformats-officedocument.wordprocessingml.document application/x-asc-text x2t"
,
""
,
]),
data
)
self
.
assertIn
(
"
\
n
"
.
join
([
""
,
" application/x-asc-presentation application/vnd.oasis.opendocument.presentation x2t"
,
" application/x-asc-presentation application/vnd.openxmlformats-officedocument.presentationml.presentation x2t"
,
" application/x-asc-spreadsheet application/vnd.oasis.opendocument.spreadsheet x2t"
,
" application/x-asc-spreadsheet application/vnd.openxmlformats-officedocument.spreadsheetml.sheet x2t"
,
" application/x-asc-text application/vnd.oasis.opendocument.text x2t"
,
" application/x-asc-text application/vnd.openxmlformats-officedocument.wordprocessingml.document x2t"
,
""
,
]),
data
)
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