[yelp-tools] yelp-build: Speed up urlencode calls in cache generation
- From: Shaun McCance <shaunm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [yelp-tools] yelp-build: Speed up urlencode calls in cache generation
- Date: Thu, 18 Aug 2011 13:36:11 +0000 (UTC)
commit d5bc41e925ff8a3cc275c309be5e226b6fa0c41f
Author: Shaun McCance <shaunm gnome org>
Date: Thu Aug 18 09:42:53 2011 -0400
yelp-build: Speed up urlencode calls in cache generation
tools/yelp-build.in | 43 +++++++++++++++++++++++--------------------
1 files changed, 23 insertions(+), 20 deletions(-)
---
diff --git a/tools/yelp-build.in b/tools/yelp-build.in
index 5da60b9..4c39b8f 100755
--- a/tools/yelp-build.in
+++ b/tools/yelp-build.in
@@ -35,7 +35,7 @@ mkdir_p () {
}
urlencode () {
- echo "$1" | LANG=C awk '
+ LANG=C awk '
BEGIN {
for (i = 1; i <= 255; i++) chars[sprintf("%c", i)] = i;
}
@@ -53,7 +53,7 @@ BEGIN {
}
urldecode () {
- echo "$1" | LANG=C awk '
+ LANG=C awk '
BEGIN {
for(i = 0; i < 10; i++) hex[i] = i;
hex["A"] = hex["a"] = 10;
@@ -138,23 +138,26 @@ if [ $# = 0 ]; then
exit 1
fi
-yelp_cache_ls () {
- fbase=`basename "$1"`
- fdir=`dirname "$1"`
- fdir=`(cd "$fdir" && pwd)`
- echo '<page cache:href="file://'`urlencode "$fdir/$fbase"`'" cache:dir="'"$fdir"'"/>'
-}
yelp_cache_in () {
echo '<cache:cache xmlns:cache="http://projectmallard.org/cache/1.0/"'
echo ' xmlns="http://projectmallard.org/1.0/">'
for page in "$@"; do
if [ -d "$page" ]; then
for sub in "$page"/*.page; do
- yelp_cache_ls "$sub"
+ fbase=`basename "$sub"`
+ fdir=`dirname "$sub"`
+ fdir=`(cd "$fdir" && pwd)`
+ echo "$fdir/$fbase"
done
else
- yelp_cache_ls "$page"
+ fbase=`basename "$page"`
+ fdir=`dirname "$page"`
+ fdir=`(cd "$fdir" && pwd)`
+ echo "$fdir/$fbase"
fi
+ done | urlencode |
+ while read line; do
+ echo '<page cache:href="file://'"$line"'" cache:dir="'"$fdir"'"/>'
done
echo '</cache:cache>'
}
@@ -188,10 +191,10 @@ yelp_html_xsl_common () {
echo '<xsl:variable name="yelp.internal.datadir" select="'"''"'"/>'
fi
if [ "x$html_internal_xsl" != "x" ]; then
- echo '<xsl:include href="file://'`urlencode "$html_internal_xsl"`'"/>'
+ echo '<xsl:include href="file://'`echo "$html_internal_xsl" | urlencode`'"/>'
fi
if [ "x$html_custom" != "x" ]; then
- echo '<xsl:include href="file://'`urlencode "$html_custom"`'"/>'
+ echo '<xsl:include href="file://'`echo "$html_custom" | urlencode`'"/>'
fi
echo '<xsl:variable name="yelp.locale">'
echo ' <xsl:choose>'
@@ -238,9 +241,9 @@ yelp_html_db2html () {
echo ' extension-element-prefixes="exsl"'
echo ' version="1.0">'
if [ "x$is_xhtml" = "x1" ]; then
- xsl='file://'`urlencode "$xsl_db2xhtml"`
+ xsl='file://'`echo "$xsl_db2xhtml" | urlencode`
else
- xsl='file://'`urlencode "$xsl_db2html"`
+ xsl='file://'`echo "$xsl_db2html" | urlencode`
fi
echo '<xsl:import href="'"$xsl"'"/>'
yelp_html_xsl_common
@@ -264,7 +267,7 @@ yelp_html_db2html () {
echo '</xsl:template>'
echo '</xsl:stylesheet>'
) | xsltproc --xinclude - "$xml" | while read media; do
- mfile=`urldecode "$media"`
+ mfile=`echo "$media" | urldecode`
minput="$xmldir/$mfile"
moutput="$html_out/$mfile"
mkdir_p `dirname "$moutput"`
@@ -314,7 +317,7 @@ yelp_html_db2html () {
echo ' exclude-result-prefixes="db"'
echo ' extension-element-prefixes="exsl"'
echo ' version="1.0">'
- xsl='file://'`urlencode "$xsl_db2xhtml"`
+ xsl='file://'`echo "$xsl_db2xhtml" | urlencode`
echo '<xsl:import href="'"$xsl"'"/>'
echo '<xsl:output method="text"/>'
echo '<xsl:template match="/">'
@@ -356,13 +359,13 @@ yelp_html_mal2html () {
echo ' extension-element-prefixes="exsl"'
echo ' version="1.0">'
if [ "x$is_xhtml" = "x1" ]; then
- xsl='file://'`urlencode "$xsl_mal2xhtml"`
+ xsl='file://'`echo "$xsl_mal2xhtml" | urlencode`
else
- xsl='file://'`urlencode "$xsl_mal2html"`
+ xsl='file://'`echo "$xsl_mal2html" | urlencode`
fi
echo '<xsl:import href="'"$xsl"'"/>'
yelp_html_xsl_common
- html_cache_url='file://'`urlencode "$html_cache_file"`
+ html_cache_url='file://'`echo "$html_cache_file" | urlencode`
echo '<xsl:param name="mal.cache.file" select="'"'$html_cache_url'"'"/>'
echo '<xsl:template match="/">'
echo '<xsl:for-each select="cache:cache/mal:page">'
@@ -383,7 +386,7 @@ yelp_html_mal2html () {
echo ' xmlns:html="http://www.w3.org/1999/xhtml"'
echo ' extension-element-prefixes="exsl"'
echo ' version="1.0">'
- xsl='file://'`urlencode "$xsl_mal2xhtml"`
+ xsl='file://'`echo "$xsl_mal2xhtml" | urlencode`
echo '<xsl:import href="'"$xsl"'"/>'
echo '<xsl:output method="text"/>'
echo '<xsl:template match="/">'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]