Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
Nuovo sito
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
16
Issues
16
List
Boards
Labels
Milestones
Merge Requests
2
Merge Requests
2
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Gruppo Web
Nuovo sito
Commits
9b97b19a
An error occurred while fetching merge requests data.
Commit
9b97b19a
authored
8 years ago
by
Pietro Albini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Switch to using a generic data directory for caching
parent
50efd1cf
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
38 additions
and
34 deletions
+38
-34
CONTRIBUTING.md
CONTRIBUTING.md
+3
-8
uitwww/__init__.py
uitwww/__init__.py
+29
-7
uitwww/__main__.py
uitwww/__main__.py
+6
-19
No files found.
CONTRIBUTING.md
View file @
9b97b19a
...
...
@@ -136,17 +136,12 @@ Per eseguire il sito in locale, è possibile eseguire questo comando (una volta
dentro il virtualenv o con il sito installato globalmente):
```
uitwww run -d -p 8000
uitwww run -d -p 8000
data/
```
Esso avvierà un'istanza in debug-mode (
*da non eseguire in produzione!!!*
), che
ascolta su
[
localhost:8000
][
localhost
]
. Se si vuole attivare anche la cache
statica, bisogna aggiungere come argomento il path della directory che la dovrà
contenere:
```
uitwww run -d -p 8000 path/to/cache
```
ascolta su
[
localhost:8000
][
localhost
]
, usando
`data/`
come directory in cui
salvare i file necessari al suo funzionamento.
## Generazione di una build
...
...
This diff is collapsed.
Click to expand it.
uitwww/__init__.py
View file @
9b97b19a
# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# Copyright (C) 2015
-2016
Pietro Albini <pietroalbini@ubuntu.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
...
...
@@ -14,21 +14,43 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
os
import
flask
from
uitwww
import
pages
from
.
import
pages
from
.
import
cache
def
create_app
(
cache_path
=
None
):
def
create_app
(
data_path
):
"""Create a new instance of the application"""
app
=
flask
.
Flask
(
__name__
,
static_url_path
=
"/+assets"
)
app
.
config
[
"DATA_PATH"
]
=
data_path
# Apply the static cache thing
if
cache_path
is
not
None
:
app
.
config
[
"CACHE_PATH"
]
=
cache_path
cache
.
install_cache
(
app
)
app
.
config
[
"CACHE_PATH"
]
=
os
.
path
.
join
(
data_path
,
"cache"
)
cache
.
install_cache
(
app
)
app
.
register_blueprint
(
pages
.
prepare_blueprint
(
app
))
pages
.
prepare_navbar
(
app
)
return
app
def
init_data_directory
(
data_path
):
"""Initialize the data directory"""
src_directory
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
# Create all the directories
dirs
=
[
""
,
"cache"
]
for
dir
in
dirs
:
os
.
makedirs
(
os
.
path
.
join
(
data_path
,
dir
),
exist_ok
=
True
)
# Initialize the cache
static_dirs
=
{
"static"
:
"+assets"
}
for
src
,
dest
in
static_dirs
.
items
():
dest
=
os
.
path
.
join
(
data_path
,
"cache"
,
dest
)
# Create the correct symlink
if
os
.
path
.
exists
(
dest
):
os
.
remove
(
dest
)
os
.
symlink
(
os
.
path
.
join
(
src_directory
,
src
),
dest
)
This diff is collapsed.
Click to expand it.
uitwww/__main__.py
View file @
9b97b19a
# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# Copyright (C) 2015
-2016
Pietro Albini <pietroalbini@ubuntu.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
...
...
@@ -29,34 +29,21 @@ def cli():
@
cli
.
command
(
"run"
)
@
click
.
argument
(
"
cache"
,
required
=
False
,
default
=
None
)
@
click
.
argument
(
"
data"
)
@
click
.
option
(
"-g"
,
"--gunicorn-config"
,
default
=
None
,
help
=
"Path to a"
"gunicorn config file"
)
@
click
.
option
(
"-p"
,
"--port"
,
default
=
8000
,
help
=
"Bind that port"
)
@
click
.
option
(
"--public"
,
help
=
"Make available to the public"
,
is_flag
=
True
)
@
click
.
option
(
"-w"
,
"--workers"
,
help
=
"Number of workers to start"
,
default
=
3
)
@
click
.
option
(
"-d"
,
"--debug"
,
help
=
"Enable debug mode"
,
is_flag
=
True
)
def
run
(
cache
,
gunicorn_config
,
port
,
public
,
workers
,
debug
):
def
run
(
data
,
gunicorn_config
,
port
,
public
,
workers
,
debug
):
# Create the application instance
app
=
uitwww
.
create_app
(
cache
)
app
.
wsgi_app
=
utils
.
ReverseProxied
(
app
.
wsgi_app
)
src_directory
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
# Link static assets to the cache directory, if it's enabled
static_dirs
=
{
"static"
:
"+assets"
}
if
cache
is
not
None
:
if
not
os
.
path
.
exists
(
cache
):
os
.
makedirs
(
cache
)
for
src
,
dest
in
static_dirs
.
items
():
dest
=
os
.
path
.
join
(
cache
,
dest
)
# The destinationa already exists
if
os
.
path
.
exists
(
dest
):
continue
os
.
symlink
(
os
.
path
.
join
(
src_directory
,
src
),
dest
)
uitwww
.
init_data_directory
(
data
)
app
=
uitwww
.
create_app
(
data
)
app
.
wsgi_app
=
utils
.
ReverseProxied
(
app
.
wsgi_app
)
host
=
"127.0.0.1"
if
public
:
...
...
This diff is collapsed.
Click to expand it.
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