--- builds_bin/update_templates 2010/03/02 21:16:48 1.11 +++ builds_bin/update_templates 2010/11/30 23:55:48 1.17 @@ -39,6 +39,9 @@ done cd /var/lib/pootle/tmp +# Sync database stores to filesystem +django-admin sync_stores --settings=pootle.settings &> /dev/null + for ver in sme7 sme8 do # Update anaconda template @@ -52,7 +55,7 @@ do diffmv backup-console.pot /var/lib/pootle/po/$ver/templates/backup-console.pot potempl $(find /var/lib/pootle/cvs/smeserver/e-smith-manager/$ver/ -type f -name 25Copyright) > foot.tmpl.pot diffmv foot.tmpl.pot /var/lib/pootle/po/$ver/templates/foot.tmpl.pot - potempl $(find /var/lib/pootle/cvs/smeserver/*/$ver/ -type f -regex '.*/e-?smith/console.*') > server-console.pot + potempl $(find /var/lib/pootle/cvs/smeserver/*/$ver/ -type f -regex '.*/e-?smith/console.*' -not -regex '.*\+ldap/.*') > server-console.pot diffmv server-console.pot /var/lib/pootle/po/$ver/templates/server-console.pot potempl $(find /var/lib/pootle/cvs/smeserver/e-smith-quota/$ver/ -type f -name userOverQuota.tmpl) > userOverQuota.tmpl.pot diffmv userOverQuota.tmpl.pot /var/lib/pootle/po/$ver/templates/userOverQuota.tmpl.pot @@ -93,35 +96,31 @@ for lang in $(ls -I templates /var/lib/p do # Create compendium to assist translations msgcat --use-first <(msgcat $(find /var/lib/pootle/tmp/errors/*/$lang/ -name '*.po') | msgattrib --translated --no-fuzzy) \ - <(msgcat $(find /var/lib/pootle/po/*/$lang/ -name '*.po') | msgattrib --translated --no-fuzzy) \ + <(msgcat --to-code UTF-8 $(find /var/lib/pootle/po/*/$lang/ -name '*.po') | msgattrib --translated --no-fuzzy) \ > /var/lib/pootle/tmp/compendium-$lang.po # Use compendium to migrate each project to new template - for proj in $(ls -d /var/lib/pootle/po/{sme,contribs}[0-9]/$lang 2> /dev/null | sed 's@.*/\([^/]\+\)/[^/]\+$@\1@') + for ver in $(ls -d /var/lib/pootle/po/{sme,contribs}[0-9]/$lang 2> /dev/null | sed 's@.*/\([^/]\+\)/[^/]\+$@\1@') do - mkdir -p /var/lib/pootle/tmp/$proj/$lang + mkdir -p /var/lib/pootle/tmp/$ver/$lang pomigrate2 -F -C=/var/lib/pootle/tmp/compendium-$lang.po -q --locale=$lang \ - /var/lib/pootle/po/$proj/$lang /var/lib/pootle/tmp/$proj/$lang /var/lib/pootle/po/$proj/templates > /dev/null + /var/lib/pootle/po/$ver/$lang /var/lib/pootle/tmp/$ver/$lang /var/lib/pootle/po/$ver/templates > /dev/null # Ensure language is correct - sed -i "/msgid \"en-us\"/{N;s@msgstr \"[^\"]*\"@msgstr \"$lang\"@}" /var/lib/pootle/tmp/$proj/$lang/* 2> /dev/null + sed -i "/msgid \"en-us\"/{N;s@msgstr \"[^\"]*\"@msgstr \"$lang\"@}" /var/lib/pootle/tmp/$ver/$lang/* 2> /dev/null - # Generate translation memory for panels - updatetm --progress none -c 4 -i /var/lib/pootle/tmp/$proj/$lang -t /var/lib/pootle/tmp/compendium-$lang.po -o /var/lib/pootle/tmp/$proj/$lang - done -done + # Set package version in po files + sed -i "s@\(Id-Version:\)[^\\]*@\1 SME $(echo $ver | sed 's@sme@Server @;s@contribs@Contribs @')@" /var/lib/pootle/tmp/$ver/$lang/*.po 2> /dev/null -# Set package name/version in new po files -for ver in 7 8 -do - find /var/lib/pootle/tmp/sme$ver/ -name '*.po' -printf "sed -i 's@Id-Version:[^\\\\]*@Id-Version: SME Server $ver (%f)@' %p\n" | sh - find /var/lib/pootle/tmp/contribs$ver/ -name '*.po' -printf "sed -i 's@Id-Version:[^\\\\]*@Id-Version: SME Contribs $ver (%f)@' %p\n" | sh -done + # Generate translation memory for panels + updatetm --progress none -c 4 -i /var/lib/pootle/tmp/$ver/$lang -t /var/lib/pootle/tmp/compendium-$lang.po -o /var/lib/pootle/tmp/$ver/$lang -# Move files that have changed -for chk in $(find /var/lib/pootle/tmp/{sme,contribs}[0-9]/ -type f) -do - diffmv $chk $(echo $chk | sed 's@/tmp/@/po/@') + find /var/lib/pootle/tmp/$ver/$lang -type f | while read pkg + do + # Move files that have changed + diffmv $pkg $(echo $pkg | sed 's@/tmp/@/po/@') + done + done done # Copy po files so we can create error reports @@ -129,8 +128,11 @@ rsync -amR --include '*/' --include '*.p #========================================================== +# Sync filesystem to database stores +django-admin update_stores --settings=pootle.settings &> /dev/null + # Recalculate stats and restart server -/usr/sbin/PootleServer --refreshstats &> /dev/null +django-admin refresh_stats --settings=pootle.settings &> /dev/null #========================================================== @@ -142,9 +144,9 @@ do | msgattrib --only-fuzzy \ | sed '0,/^$/d;/^#~/d' \ | sed ':a;/^\n*$/{$d;N;ba;}' \ - > errors-$lang.po - chmod 644 errors-$lang.po - diffmv errors-$lang.po /var/www/html/errors/errors-$lang.po + > errors-$lang.err + chmod 644 errors-$lang.err + diffmv errors-$lang.err /var/www/html/errors/errors-$lang.err done # Build diffs for languages @@ -169,11 +171,14 @@ do do for lang in $(ls -I templates /var/lib/pootle/po/$ver/ 2> /dev/null | grep '[[:alpha:]]$' | sort -u) do - mkdir -p diff/$ver/${pkgname}.update/po/$lang - msgcat -F --no-wrap /var/lib/pootle/po/$ver/$lang/${pkg}.po \ - | grep -v 'Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|X-Generator' \ - | sed '0,/msgid ""/{/^#/d};/^#,/d;s@^\(#: \)[^/]\+/root@\1root@' \ - > diff/$ver/${pkgname}.update/po/$lang/${pkg/backup-console/backup}.po + if [ -f "/var/lib/pootle/po/$ver/$lang/${pkg}.po" ] + then + mkdir -p diff/$ver/${pkgname}.update/po/$lang + msgcat -F --no-wrap /var/lib/pootle/po/$ver/$lang/${pkg}.po \ + | grep -v 'Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|X-Generator' \ + | sed '0,/msgid ""/{/^#/d};/^#,/d;s@^\(#: \)[^/]\+/root@\1root@' \ + > diff/$ver/${pkgname}.update/po/$lang/${pkg/backup-console/backup}.po + fi done done fi