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
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
Justin
slapos
Commits
5fb6ecc8
Commit
5fb6ecc8
authored
Oct 05, 2022
by
Léo-Paul Géneau
👾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
software/html5as: split download and extraction
See merge request !1268
parent
bad7c710
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
26 deletions
+23
-26
software/html5as/buildout.hash.cfg
software/html5as/buildout.hash.cfg
+1
-1
software/html5as/instance_html5as.cfg.in
software/html5as/instance_html5as.cfg.in
+22
-25
No files found.
software/html5as/buildout.hash.cfg
View file @
5fb6ecc8
...
@@ -21,7 +21,7 @@ md5sum = 23c15a579b66cef866b30a2f53b1b737
...
@@ -21,7 +21,7 @@ md5sum = 23c15a579b66cef866b30a2f53b1b737
[instance_html5as]
[instance_html5as]
_update_hash_filename_ = instance_html5as.cfg.in
_update_hash_filename_ = instance_html5as.cfg.in
md5sum =
743f7ec8718de67f31720a68258a5ff2
md5sum =
fc1dd9faf99a4f75e3727b80bb2d59fb
[template_nginx_conf]
[template_nginx_conf]
_update_hash_filename_ = templates/nginx_conf.in
_update_hash_filename_ = templates/nginx_conf.in
...
...
software/html5as/instance_html5as.cfg.in
View file @
5fb6ecc8
...
@@ -90,7 +90,7 @@ path_access_log = ${basedirectory:log}/nginx.access.log
...
@@ -90,7 +90,7 @@ path_access_log = ${basedirectory:log}/nginx.access.log
path_error_log = ${basedirectory:log}/nginx.error.log
path_error_log = ${basedirectory:log}/nginx.error.log
path_tmp = ${tempdirectory:tmp}
path_tmp = ${tempdirectory:tmp}
# Docroot
# Docroot
docroot = ${do
wnloader
:location}
docroot = ${do
croot
:location}
default_index = ${:docroot}/index.html
default_index = ${:docroot}/index.html
# Config files
# Config files
path_nginx_conf = ${directory:etc}/nginx.conf
path_nginx_conf = ${directory:etc}/nginx.conf
...
@@ -127,42 +127,39 @@ output = ${html5as:bin_launcher}
...
@@ -127,42 +127,39 @@ output = ${html5as:bin_launcher}
context =
context =
section param_html5as html5as
section param_html5as html5as
# Command to
put content in the docroot
# Command to
download archive from provided url
[downloader]
[downloader]
recipe = slapos.recipe.build:download
# We add: or '', otherwise jinja2 will render a 'None' string
url = {{ parameter_dict['download_url'] or '' }}
# Allow to use slapos.recipe.build:download which can only be used in "online" mode
offline = false
# Command to put content in the docroot
[docroot]
recipe = slapos.recipe.build
recipe = slapos.recipe.build
# Path where the recipe stores any produced file,
# Path where the recipe stores any produced file,
# it will be automatically removed at the beginning of "install".
# it will be automatically removed at the beginning of "install".
location = ${directory:srv}/html5as
location = ${directory:srv}/html5as
# All the keys in this section will be available as a dict called "self.options"
# All the keys in this section will be available as a dict called "self.options"
# We add: or '', otherwise jinja2 will render a 'None' string
archive = {{ '${downloader:destination}' if parameter_dict['download_url'] else '' }}
url = {{ parameter_dict['download_url'] or '' }}
default_index_html = ${default_index_html:output}
default_index_html = ${default_index_html:output}
# If a tarball is passed as a parameter in download url
# If a tarball is passed as a parameter in download url
# it's content will be served by the instance.
# it's content will be served by the instance.
# If the parameter is not provided it fallback to the default template
# If the parameter is not provided it fallback to the default template
install =
install =
import os, shutil
import os, shutil
buildout_offline = self.buildout['buildout']['offline']
if self.options['archive']:
try:
# Create a directory and extract the file that are compressed inside
# Allow to do self.download() which can only be used in "online" mode
extract_dir = self.extract(self.options['archive'])
self.buildout['buildout']['offline'] = 'false'
# Return the right directory path
if self.options['url']:
workdir = guessworkdir(extract_dir)
# Use fonctions from the slapos.recipe.build repository
# Recursively copy directory
# Download a file from a URL to a temporary path
self.copyTree(workdir, location)
file = self.download(self.options['url'])
else:
# Create a directory and extract the file that are compressed inside
# Create directory and copy the default template inside
extract_dir = self.extract(file)
os.makedirs(location)
# Return the right directory path
shutil.copy(self.options['default_index_html'], location)
workdir = guessworkdir(extract_dir)
# Recursively copy directory
self.copyTree(workdir, location)
else:
# Create directory and copy the default template inside
os.makedirs(location)
shutil.copy(self.options['default_index_html'], location)
finally:
# reset the parameter
self.buildout['buildout']['offline'] = buildout_offline
[default_index_html]
[default_index_html]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
...
...
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