Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
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
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kwabena Antwi-Boasiako
slapos
Commits
baf9328c
Commit
baf9328c
authored
Mar 20, 2012
by
Romain Courteaud
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify erp5_update to only create the ERP5 site.
parent
877695b6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
100 additions
and
0 deletions
+100
-0
setup.py
setup.py
+1
-0
slapos/recipe/erp5_bootstrap/__init__.py
slapos/recipe/erp5_bootstrap/__init__.py
+64
-0
slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in
slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in
+35
-0
No files found.
setup.py
View file @
baf9328c
...
...
@@ -93,6 +93,7 @@ setup(name=name,
'generate.cloudooo = slapos.recipe.generate_cloudooo:Recipe'
,
'zeo = slapos.recipe.zeo:Recipe'
,
'tidstorage = slapos.recipe.tidstorage:Recipe'
,
'erp5.bootstrap = slapos.recipe.erp5_bootstrap:Recipe'
,
'erp5.update = slapos.recipe.erp5_update:Recipe'
,
'erp5.test = slapos.recipe.erp5_test:Recipe'
,
'generic.varnish = slapos.recipe.generic_varnish:Recipe'
,
...
...
slapos/recipe/erp5_bootstrap/__init__.py
0 → 100644
View file @
baf9328c
##############################################################################
#
# Copyright (c) 2012 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
slapos.recipe.librecipe
import
GenericBaseRecipe
import
os
import
sys
import
urlparse
class
Recipe
(
GenericBaseRecipe
):
"""
Instanciate ERP5 in Zope
"""
def
install
(
self
):
parsed
=
urlparse
.
urlparse
(
self
.
options
[
'mysql-url'
])
mysql_connection_string
=
"%(database)s@%(hostname)s:%(port)s "
\
"%(username)s %(password)s"
%
dict
(
database
=
parsed
.
path
.
split
(
'/'
)[
1
],
hostname
=
parsed
.
hostname
,
port
=
parsed
.
port
,
username
=
parsed
.
username
,
password
=
parsed
.
password
)
config
=
dict
(
python_path
=
sys
.
executable
,
user
=
self
.
options
[
'user'
],
password
=
self
.
options
[
'password'
],
site
-
id
=
self
.
options
[
'site-id'
],
host
=
self
.
options
[
'host'
],
sql
-
connection
-
string
=
mysql_connection_string
,
)
# Runners
runner_path
=
self
.
createExecutable
(
self
.
options
[
'runner-path'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'erp5_bootstrap.in'
),
config
))
return
[
runner_path
]
slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in
0 → 100644
View file @
baf9328c
#!%(python_path)s
import httplib
import urllib
import base64
user = %(user)s
password = %(password)s
host = %(host)s
site_id = %(site-id)s
erp5_catalog_storage = 'erp5_mysql_innodb_catalog'
mysql_url = %(sql-connection-string)s
header_dict = {'Authorization': 'Basic %s' % \
base64.encodestring('%s:%s' % (user, password)).strip()}
zope_connection = httplib.HTTPConnection(host)
# Check if an ERP5 site is already created, as ERP5 does support having
# 2 instances in the same zope, and this script should not destroy user data
zope_connection.request('GET', '/isERP5SitePresent', headers=header_dict)
result = zope_connection.getresponse()
if result.status == 204: # and (result.read() == "False"):
# Create the expected ERP5 instance
zope_connection.request(
'POST', '/manage_addProduct/ERP5/manage_addERP5Site',
urllib.urlencode({
'id': site_id,
'erp5_catalog_storage': erp5_catalog_storage,
'erp5_sql_connection_string': mysql_url,
'cmf_activity_sql_connection_string': mysql_url,
}),
headers=header_dict)
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