openstack-manuals/tools/generatepot-rst.sh
Andreas Jaeger 993647f316 Remove UUIDs from RST pot files
We do not need the UUIDs for our toolchain, remove them.

They cause huge changes with each import with no benefit for us.

Note: Sphinx 1.3 by default disables UUID generation but we're using an
older Sphinx version for building, thus have to do this manually.

Change-Id: I3f3e910c5b2a2d03a3f04b67015526c3b7e77ddb
2015-04-10 10:15:12 +02:00

46 lines
1.6 KiB
Bash
Executable File

#!/bin/bash -xe
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Copy files from trunk to named branch and replace all links from
# trunk with links to the branch
DOCNAME=$1
if [ -z "$DOCNAME" ] ; then
echo "usage $0 DOCNAME"
exit 1
fi
OPTS=""
# We need to build guides with all tags so that all strings get
# extracted.
if [ "$DOCNAME" = "user-guides" ] ; then
OPTS="-t user_only -t admin_only"
fi
# First remove the old pot file, otherwise the new file will contain
# old references
rm -f doc/$DOCNAME/source/locale/$DOCNAME.pot
sphinx-build $OPTS -b gettext doc/$DOCNAME/source/ doc/$DOCNAME/source/locale/
# Take care of deleting all temporary files so that git add
# doc/$DOCNAME/source/locale will only add the single pot file.
# Remove UUIDs, those are not necessary and change too often
msgcat --sort-output doc/$DOCNAME/source/locale/*.pot | \
awk '$0 !~ /^\# [a-z0-9]{32}$/' > doc/$DOCNAME/source/$DOCNAME.pot
rm doc/$DOCNAME/source/locale/*.pot
rm -rf doc/$DOCNAME/source/locale/.doctrees/
mv doc/$DOCNAME/source/$DOCNAME.pot doc/$DOCNAME/source/locale/$DOCNAME.pot