]> granicus.if.org Git - python/commitdiff
Patch #512466: Script to move faqwiz entries.
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 18 Mar 2002 08:56:23 +0000 (08:56 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 18 Mar 2002 08:56:23 +0000 (08:56 +0000)
Tools/faqwiz/README
Tools/faqwiz/move-faqwiz.sh [new file with mode: 0755]

index b29fcb020f26f1e348d8ca87d8a72d025565608a..a1e4d44047825285885244bc28cdf412fdd1cbcc 100644 (file)
@@ -21,6 +21,7 @@ faqw.py               executable script to be edited and installed in cgi-bin
 faqwiz.py      main module, lives in same directory as FAQ entry files
 faqconf.py     main configuration module
 faqcust.py     additional local customization module (optional)
+move-faqwiz.sh  Script to move faqwiz entries.
 
 
 What's New?
diff --git a/Tools/faqwiz/move-faqwiz.sh b/Tools/faqwiz/move-faqwiz.sh
new file mode 100755 (executable)
index 0000000..6a708aa
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# Christian Reis <kiko@async.com.br>
+#
+# Moves 
+# 
+# Example:
+#
+#   blackjesus:~> ./move-faqwiz.sh 2\.1 3\.2
+#   Moving FAQ question 02.001 to 03.002
+
+if [ x$2 == x ]; then
+    echo "Need 2 args: original_version final_version."
+    exit 2
+fi
+
+if [ ! -d data -o ! -d data/RCS ]; then
+    echo "Run this inside the faqwiz data/ directory's parent dir."
+    exit 2
+fi
+
+function cut_n_pad() {
+    t=`echo $1 | cut -d. -f $2`
+    export $3=`echo $t | awk "{ tmp = \\$0; l = length(tmp); for (i = 0; i < $2-l+1; i++) { tmp = "0".tmp } print tmp  }"`
+}
+
+cut_n_pad $1 1 prefix1
+cut_n_pad $1 2 suffix1
+cut_n_pad $2 1 prefix2
+cut_n_pad $2 2 suffix2
+tmpfile=tmp$RANDOM.tmp
+file1=faq$prefix1.$suffix1.htp
+file2=faq$prefix2.$suffix2.htp
+
+echo "Moving FAQ question $prefix1.$suffix1 to $prefix2.$suffix2" 
+
+sed -e "s/$1\./$2\./g" data/$file1 > ${tmpfile}1
+sed -e "s/$1\./$2\./g" data/RCS/$file1,v > ${tmpfile}2
+
+if [ -f data/$file2 ]; then
+    echo "Target FAQ exists. Won't clobber."
+    exit 2
+fi
+
+mv ${tmpfile}1 data/$file2
+mv ${tmpfile}2 data/RCS/$file2,v
+mv data/$file1 data/$file1.orig
+mv data/RCS/$file1,v data/RCS/$file1,v.orig
+