From d53e2d3e51d33ae50baac3bb43e7ee947c34d6cb Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 2 Nov 2016 19:33:49 +0100 Subject: [PATCH] Remove translation of log level variables The i18n team decided to not translate the log level files anymore, remove support for them and remove the files from repositories. Only remove files from master, not from released stable branches. See: http://lists.openstack.org/pipermail/openstack-i18n/2016-November/002574.html Change-Id: I91ed824a90eb9b8a3b36866a2120083559668d0f --- jenkins/scripts/common_translation_update.sh | 43 ++++++++----------- jenkins/scripts/propose_translation_update.sh | 11 +++-- .../scripts/upstream_translation_update.sh | 1 - 3 files changed, 27 insertions(+), 28 deletions(-) diff --git a/jenkins/scripts/common_translation_update.sh b/jenkins/scripts/common_translation_update.sh index 51597aa818..1f88c20955 100644 --- a/jenkins/scripts/common_translation_update.sh +++ b/jenkins/scripts/common_translation_update.sh @@ -294,17 +294,6 @@ EOF return $success } -# Setup global variables LEVELS and LKEYWORDS -function setup_loglevel_vars { - # Strings for various log levels - LEVELS="info warning error critical" - # Keywords for each log level: - declare -g -A LKEYWORD - LKEYWORD['info']='_LI' - LKEYWORD['warning']='_LW' - LKEYWORD['error']='_LE' - LKEYWORD['critical']='_LC' -} # Delete empty pot files function check_empty_pot { @@ -320,7 +309,6 @@ function check_empty_pot { } # Run extract_messages for python projects. -# Needs variables setup via setup_loglevel_vars. function extract_messages_python { local modulename=$1 @@ -341,18 +329,6 @@ function extract_messages_python { -k "_C:1c,2" -k "_P:1,2" \ -o ${pot} ${modulename} check_empty_pot ${pot} - - # Update the log level .pot files - for level in $LEVELS ; do - pot=${modulename}/locale/${modulename}-log-${level}.pot - $VENV/bin/pybabel ${QUIET} extract --no-default-keywords \ - --add-comments Translators: \ - --msgid-bugs-address="https://bugs.launchpad.net/openstack-i18n/" \ - --project=${PROJECT} --version=${VERSION} \ - -k ${LKEYWORD[$level]} \ - -o ${pot} ${modulename} - check_empty_pot ${pot} - done } # Django projects need horizon installed for extraction, install it in @@ -523,6 +499,25 @@ function cleanup_po_files { done } +# Remove obsolete log lovel files. We have added them in the past but +# do not translate them anymore, so let's eventually remove them. +function cleanup_log_files { + local modulename=$1 + local levels="info warning error critical" + + for i in $(find $modulename -name *.po) ; do + # We do not store the log level files anymore, remove them + # from git. + local bi=$(basename $i) + + for level in $levels ; do + if [[ "$bi" == "$modulename-log-$level.po" ]] ; then + git rm -f --ignore-unmatch $i + fi + done + done +} + # Remove all pot files, we publish them to # http://tarballs.openstack.org/translation-source/{name}/VERSION , diff --git a/jenkins/scripts/propose_translation_update.sh b/jenkins/scripts/propose_translation_update.sh index 73eaa22ebf..6fe5e3e592 100755 --- a/jenkins/scripts/propose_translation_update.sh +++ b/jenkins/scripts/propose_translation_update.sh @@ -88,6 +88,7 @@ function propose_training_guides { # Propose updates for python and django projects function propose_python_django { local modulename=$1 + local version=$2 # Check for empty directory and exit early local content=$(ls -A $modulename/locale/) @@ -103,6 +104,11 @@ function propose_python_django { # Cleanup po and pot files cleanup_module "$modulename" + if [ "$version" == "master" ] ; then + # Remove not anymore translated log files on master, but not + # on released stable branches. + cleanup_log_files "$modulename" + fi # Check first whether directory exists, it might be missing if # there are no translations. @@ -140,11 +146,11 @@ function handle_python_django { extract_messages_django "$modulename" ;; python) - # Extract all messages from project, including log messages. + # Extract messages from project except log messages extract_messages_python "$modulename" ;; esac - propose_python_django "$modulename" + propose_python_django "$modulename" "$ZANATA_VERSION" done fi } @@ -204,7 +210,6 @@ case "$PROJECT" in ;; *) # Common setup for python and django repositories - setup_loglevel_vars handle_python_django $PROJECT python handle_python_django $PROJECT django ;; diff --git a/jenkins/scripts/upstream_translation_update.sh b/jenkins/scripts/upstream_translation_update.sh index a33585c2a0..773002c01c 100755 --- a/jenkins/scripts/upstream_translation_update.sh +++ b/jenkins/scripts/upstream_translation_update.sh @@ -74,7 +74,6 @@ case "$PROJECT" in module_names=$(get_modulename $PROJECT python) if [ -n "$module_names" ]; then setup_project "$PROJECT" "$ZANATA_VERSION" $module_names - setup_loglevel_vars if [[ "$ZANATA_VERSION" == "master" && -f releasenotes/source/conf.py ]]; then extract_messages_releasenotes ALL_MODULES="releasenotes $ALL_MODULES"