Mercurial > kallithea
view init.d/kallithea-upstart.conf @ 7647:4babc6e047d0 stable
templates/files: narrow down scope of webhelpers.html.literal
In the 'Show Authors' functionality on a file of a repository, the following
construct:
h.literal(ungettext('..A..') % (..B..))
can be simplified. Here, literal was used to cater for explicit HTML tags in
the (..B..) part only. There is no need to apply literal on the '..A..'
part.
A better structure of this code is:
h.HTML(ungettext('..A..')) % h.literal(..B..)
Note that we still need to wrap the '..A..' part in webhelpers.html.HTML to
make sure the '%' operator will preserve the 'literal' property.
See also the documentation: (the text below for 'literal' also applies to
'HTML')
https://docs.pylonsproject.org/projects/webhelpers/en/latest/modules/html/builder.html
"
When literal is used in a mixed expression containing both literals and
ordinary strings, it tries hard to escape the strings and return a
literal. However, this depends on which value has “control” of the
expression. literal seems to be able to take control with all
combinations of the + operator, but with % and join it must be on the
left side of the expression. So these all work:
"A" + literal("B")
literal(", ").join(["A", literal("B")])
literal("%s %s") % (16, literal("kg"))
But these return an ordinary string which is prone to double-escaping later:
"\n".join([literal('<span class="foo">Foo!</span>'), literal('Bar!')])
"%s %s" % (literal("16"), literal("<em>kg</em>"))
"
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Mon, 29 Apr 2019 21:46:44 +0200 |
parents | 2c3d30095d5e |
children |
line wrap: on
line source
# kallithea - run the kallithea daemon as an upstart job # Change variables/paths as necessary and place file /etc/init/kallithea.conf # start/stop/restart as normal upstart job (ie: $ start kallithea) description "Kallithea Mercurial Server" author "Matt Zuba <matt.zuba@goodwillaz.org" start on (local-filesystems and runlevel [2345]) stop on runlevel [!2345] respawn umask 0022 env PIDFILE=/var/hg/kallithea/kallithea.pid env LOGFILE=/var/hg/kallithea/log/kallithea.log env APPINI=/var/hg/kallithea/production.ini env HOME=/var/hg env USER=hg env GROUP=hg exec /var/hg/.virtualenvs/kallithea/bin/gearbox serve --user=$USER --group=$GROUP --pid-file=$PIDFILE --log-file=$LOGFILE -c $APPINI post-stop script rm -f $PIDFILE end script