www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/audio-video/workshop add-entry av-create av...


From: Therese Godefroy
Subject: www/audio-video/workshop add-entry av-create av...
Date: Fri, 11 Nov 2022 10:14:03 -0500 (EST)

CVSROOT:        /webcvs/www
Module name:    www
Changes by:     Therese Godefroy <th_g> 22/11/11 10:14:03

Modified files:
        audio-video/workshop: add-entry av-create av-edit avgen 
                              convert-entry sort-media 
Added files:
        audio-video/workshop: init-tmp 

Log message:
        

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/add-entry?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/av-create?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/av-edit?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/avgen?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/convert-entry?cvsroot=www&r1=1.3&r2=1.4
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/sort-media?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/init-tmp?cvsroot=www&rev=1.1

Patches:
Index: add-entry
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/add-entry,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- add-entry   9 Nov 2022 17:54:49 -0000       1.1
+++ add-entry   11 Nov 2022 15:14:00 -0000      1.2
@@ -4,15 +4,14 @@
 # Called from av-create, av-edit and avgen.
 
 # Public domain.
-# Last updated 2022-11-07.
-# Report bugs to thg@gnu.org.
+# Last updated 2022-11-10.
+# Please report bugs to thg@gnu.org.
 
 
 function add_entry () {
 
-  media_html=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make media_html";  
exit 1)
-  entry_html=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make entry_html";  
exit 1)
-  trap 'rm -f "$media_html" "$entry_html"' EXIT
+  media_html=$(make_temp media_html)
+  entry_html=$(make_temp entry_html)
 
   if [ -s "$1" ]; then
     id=$(grep 'Id: ' $1 | sed 's,^Id: ,,')

Index: av-create
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/av-create,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- av-create   9 Nov 2022 17:54:49 -0000       1.1
+++ av-create   11 Nov 2022 15:14:00 -0000      1.2
@@ -7,19 +7,19 @@
 # run it without argument.
 
 # Public domain.
-# Last updated 2022-11-07.
+# Last updated 2022-11-10.
 # Please report bugs to thg@gnu.org.
 
 
 set -e
 set -o pipefail
 export LANG=en_US.UTF-8
+. init-tmp
 . add-entry
 . convert-entry
 . sort-media
 
-entry_rec=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make entry_rec";  exit 1)
-trap 'rm -f "$entry_rec"' EXIT
+entry_rec=$(make_temp entry_rec)
 
 if [ ! -s entry ]; then
   echo 1>&2 "!!! The 'entry' file doesn't exist; exit."

Index: av-edit
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/av-edit,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- av-edit     9 Nov 2022 17:54:49 -0000       1.1
+++ av-edit     11 Nov 2022 15:14:00 -0000      1.2
@@ -9,12 +9,13 @@
 # Run the script with the id of the entry as argument:    av-edit ID
 
 # Public domain.
-# Last updated 2022-11-09.
+# Last updated 2022-11-10.
 # Please report bugs to thg@gnu.org.
 
 
 set -e
 set -o pipefail
+. init-tmp
 . add-entry
 . convert-entry
 . sort-media
@@ -29,8 +30,7 @@
 if [ -n "$id" ]; then
   id_attr="id=\"$id\""
 
-  entry_rec=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make entry_rec";  exit 
1)
-  trap 'rm -f "$entry_rec"' EXIT
+  entry_rec=$(make_temp entry_rec)
 
   awk -v pattern=$id_attr '
     BEGIN { RS = ORS = "\n\n"; found = 0 }

Index: avgen
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/avgen,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- avgen       9 Nov 2022 17:54:50 -0000       1.1
+++ avgen       11 Nov 2022 15:14:00 -0000      1.2
@@ -5,19 +5,19 @@
 # Run this script without argument.
 
 # Public domain.
-# Last updated 2022-11-09.
+# Last updated 2022-11-10.
 # Please report bugs to thg@gnu.org.
 
 
 set -e
 set -o pipefail
+. init-tmp
 . convert-entry
 . sort-media
 
-entry_rec=$(mktemp -t av.XXXXXX)  || (echo 1>&2 "Can't make entry_rec";  exit 
1)
-entry_html=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make entry_html";  exit 
1)
-media_html=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make media_html";  exit 
1)
-trap 'rm -f "$entry_rec" "$entry_html" "$media_html"' EXIT
+entry_rec=$(make_temp entry_rec)
+entry_html=$(make_temp entry_html)
+media_html=$(make_temp media_html)
 
 printf '<!--#set var="comment" value="
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Index: convert-entry
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/convert-entry,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- convert-entry       10 Nov 2022 13:38:17 -0000      1.3
+++ convert-entry       11 Nov 2022 15:14:00 -0000      1.4
@@ -2,15 +2,14 @@
 
 # Called from avgen and av_add.
 
-# Public domain
-# Last updated 2022-11-09.
+# Public domain.
+# Last updated 2022-11-10.
 # Please report bugs to thg@gnu.org.
 
 
 function convert_entry () {
 
-  tmp=$(mktemp -t av.XXXXXX) || (echo 1>&2 "Can't make tmp";  exit 1)
-  trap 'rm -f "tmp"' EXIT
+  tmp=$(make_temp 'convert_entry')
 
   # Remove any linefeed between field name and data;
   # remove empty fields (except By),

Index: sort-media
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/sort-media,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- sort-media  9 Nov 2022 17:54:50 -0000       1.1
+++ sort-media  11 Nov 2022 15:14:02 -0000      1.2
@@ -3,49 +3,46 @@
 
 # Called from av_add and avgen.
 
-# Public domain
-# Last updated 2022-11-09.
+# Public domain.
+# Last updated 2022-11-10.
 # Please report bugs to thg@gnu.org.
 
 
 function sort_media () {
 
   echo "${0##*\/}: Sorting media.html."
+  if [ ! -s "$1" ]; then
+    echo "media.html is empty or doesn't exist."
+    exit 1
+  fi
+  p1=$(make_temp p1)
+  p2=$(make_temp p2)
+  p3=$(make_temp p3)
 
-  rm -f /tmp/f1 /tmp/f2 /tmp/f3
-
-  if [ -s "$1" ]; then
     # Split the list in 2: introductory, and other.
-    awk '
+  awk -v p1="$p1" -v p2="$p2" -v p3="$p3" '
       BEGIN { RS = ORS = "\n\n" }
-       /~~~~~~~~~~~~~~/ { print > "/tmp/f3" }
-       /class="introductory"/ { print > "/tmp/f1" }
-       !/class="introductory"/ && !/~~~~~~~~~~~~~~/ { print > "/tmp/f2" }
+     /~~~~~~~~~~~~~~/ { print > p3 }
+     /class="introductory"/ { print > p1 }
+     !/class="introductory"/ && !/~~~~~~~~~~~~~~/ { print > p2 }
       ' $1
 
     # Sort the sublists separately in reverse chronological order,
     # and concatenate.
-    for c in 1 2; do
-      awk '
+  for p in "$p1" "$p2"; do
+    awk -v p3="$p3" '
       BEGIN { RS = ORS = "\n\n" }
         {
           n = NR
-          i[n] = gensub (/.*id="[a-z]+-([0-9]{9}).*/, "\\1", "1" $0)
+        i[n] = gensub(/.*id="[a-z]+-([0-9]{9}).*/, "\\1", 1)
           a[i[n]] = $0
         }
       END {
         asort(i)
-        for (j = n; j > 0; j--) { print a[i[j]] >> "/tmp/f3" }
-      }' /tmp/f$c
+      for (j = n; j > 0; j--) { print a[i[j]] >> p3 }
+    }' "$p"
     done
 
     # Remove extra blank lines, added by awk.
-    sed ':a /^$/ { N;N; s,\n\n$,,; ba }' /tmp/f3 > $1
-
-    rm -f /tmp/f1 /tmp/f2 /tmp/f3
-
-  else
-    echo "media.html is empty or doesn't exist."
-    exit 1
-  fi
+  sed ':a /^$/ { N;N; s,\n\n$,,; ba }' "$p3" > $1
 }

Index: init-tmp
===================================================================
RCS file: init-tmp
diff -N init-tmp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ init-tmp    11 Nov 2022 15:14:02 -0000      1.1
@@ -0,0 +1,14 @@
+# Initialize temporary structures.
+# Public domain.
+# Initially written by Ineiev <ineiev@gnu.org>.
+TMPDIR=${TMPDIR:-/tmp}
+temp_dir=$(mktemp -p "$TMPDIR" -d av.XXXXXX \
+  || { echo 1>&2 "Can't make temporary directory."; exit 1;} )
+
+function make_temp ()
+{
+  mktemp -p "$temp_dir" "$1".XXXXXX \
+    || (echo 1>&2 "Can't make $1";  exit 1)
+}
+
+trap 'rm -fr "$temp_dir"' EXIT



reply via email to

[Prev in Thread] Current Thread [Next in Thread]