www-commits
[Top][All Lists]
Advanced

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

www/audio-video/workshop av-create entry-start


From: Therese Godefroy
Subject: www/audio-video/workshop av-create entry-start
Date: Sun, 13 Nov 2022 06:23:49 -0500 (EST)

CVSROOT:        /webcvs/www
Module name:    www
Changes by:     Therese Godefroy <th_g> 22/11/13 06:23:49

Modified files:
        audio-video/workshop: av-create entry-start 

Log message:
        entry-start: add a default Id.
        av-create: check for this Id in 'entry'; modify a temp file
        instead of the original 'entry'; minor changes.

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/av-create?cvsroot=www&r1=1.7&r2=1.8
http://web.cvs.savannah.gnu.org/viewcvs/www/audio-video/workshop/entry-start?cvsroot=www&r1=1.2&r2=1.3

Patches:
Index: av-create
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/av-create,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- av-create   12 Nov 2022 15:34:06 -0000      1.7
+++ av-create   13 Nov 2022 11:23:47 -0000      1.8
@@ -19,27 +19,32 @@
 . convert-entry
 . sort-media
 
+entry=$(make_temp entry)
 entry_rec=$(make_temp entry_rec)
 
 if [ ! -s entry ]; then
-  echo 1>&2 "!!! The 'entry' file doesn't exist; exit."
+  echo 1>&2 "!!! The 'entry' file doesn't exist or is empty; exit."
+  exit 1 
+fi
+if grep -q 'Id: xxx-000000000' entry; then
+  echo 1>&2 "!!! This entry still has the default Id; exit."
   exit 1 
 fi
 
 # Clean the form.
 
-sed -i 's,[[:space:]]*##.*,,
+sed 's,[[:space:]]*##.*,,
         s,^[#*],,
         s,^\([A-Za-z]\+:\)[[:space:]]*\([[:print:]]\+\),\1 \2,
         /^$/d
-       ' entry
+    ' entry > $entry
        
 # Check that the data is correct.
 
 n=1
 missing=""
 for f in Id Type Title Language Duration License; do
-   if ! data[$n]=$(grep "^$f: " entry); then
+   if ! data[$n]=$(grep "^$f: " $entry); then
      missing="$missing $f"
    fi
    n=$(( $n + 1 ))
@@ -47,10 +52,10 @@
 Id=${data[1]}; Type=${data[2]}; Language=${data[4]}; Duration=${data[5]};
 
 media=""
-if grep -q '<b>Video</b>' entry; then media="$media video"; fi
-if grep -q '<b>Audio</b>' entry; then media="$media audio"; fi
-if grep -q '<b>Transcript</b>' entry; then media="$media transcript"; fi
-if grep -q '<b>Subtitles</b>' entry; then media="$media subtitles"; fi
+if grep -q '<b>Video</b>' $entry; then media="$media video"; fi
+if grep -q '<b>Audio</b>' $entry; then media="$media audio"; fi
+if grep -q '<b>Transcript</b>' $entry; then media="$media transcript"; fi
+if grep -q '<b>Subtitles</b>' $entry; then media="$media subtitles"; fi
 if  [ -n "$media" ]; then
   media="${media# }"
 else
@@ -114,7 +119,8 @@
 
 echo "${0##*\/}: Generating a new audio/video entry in rec format..."
 
-# Fill the empty fields: by, year, formatted date, lang, length, media.
+# Extract data from the original form to complete the empty fields:
+# by, year, formatted date, lang, length, media.
 
 if [[ $id =~ "rms" ]]; then by="Richard Stallman"; fi
 
@@ -122,7 +128,6 @@
  sed 's,^[a-z]\+-\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)[0-9],\1-\2-\3,')
 year=${date%%-*}
 
-month=${date%-00}
 if test ! "${date%00-00}" = "$date"; then
   fdate=$(date "+%Y" -d "$year")
 elif test ! "${date%-00}" = "$date"; then
@@ -162,27 +167,29 @@
 
 # Create missing entries.
 
-grep -q '^Year:'   entry || sed -i '/^Id: /     aYear:' entry
-grep -q '^Lang:'   entry || sed -i '/^Type: /   iLang:' entry
-grep -q '^Length:' entry || sed -i '/^Type: / aLength:' entry
-grep -q '^Media:'  entry || sed -i '/^Length:/ aMedia:' entry
-if ! grep -q '^Date:' entry; then
-  if grep -q '^Location:' entry; then sed -i '/^Location: / iDate:' entry
-  else sed -i '/^Language: / iDate:' entry; fi
-fi
-
-awk -v year="$year" -v lang="$lang" -v tlength="$tlength" -v media="$media" \
-    -v by="$by" -v fdate="$fdate" -v duration="$duration" '
-  /Year:/ { $2 = year }
-  /Lang:/ { $2 = lang }
-  /Length:/ { $2 = tlength }
-  /Media:/ { $2 = media }
-  /^By:/ { if ($2 == "") { $2 = by } }
-  /Date:/ { if ($2 == "") { $2 = fdate } }
-  /Duration/ { $2 = duration }
-  { print }
-  ' entry |
-sed '/^[a-zA-Z]\+:/! { s,^,+ , }' > $entry_rec
+grep -q '^Year:'   $entry || sed -i '/^Id:/      aYear:' $entry
+grep -q '^Lang:'   $entry || sed -i '/^Type:/    iLang:' $entry
+grep -q '^Length:' $entry || sed -i '/^Type:/  aLength:' $entry
+grep -q '^Media:'  $entry || sed -i '/^Length:/ aMedia:' $entry
+if ! grep -q '^Date:' $entry; then
+  if grep -q '^Location:' $entry; then
+    sed -i '/^Location:/ iDate:' $entry
+  else
+    sed -i '/^Language:/ iDate:' $entry
+  fi
+fi
+
+# Add the derived data to the form and convert to rec format.
+
+sed "s,^Year:.*$,Year: $year,
+     s,^Lang:.*$,Lang: $lang,
+     s,^Length:.*$,Length: $tlength,
+     s,^Media:.*$,Media: $media,
+     s,^By:$,By: $by,
+     s|^Date:.*$|Date: $fdate|
+     s,^Duration:.*$,Duration: $duration,
+     /^[a-zA-Z]\+:/! s,^,+ ,
+    " $entry  > $entry_rec
 
 # Convert entry.rec to entry.html and add it to media.html,
 # then add entry.rec to media.rec.

Index: entry-start
===================================================================
RCS file: /webcvs/www/www/audio-video/workshop/entry-start,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- entry-start 11 Nov 2022 19:35:51 -0000      1.2
+++ entry-start 13 Nov 2022 11:23:47 -0000      1.3
@@ -20,7 +20,7 @@
 ## Please suggest improvements on <audio-video@gnu.org>.
 
 
-*Id:               ## (1)
+*Id: xxx-000000000 ## (1)
 Introductory:      ## (2)
 Open:              ## (3)
 #Year:



reply via email to

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