[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:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www/audio-video/workshop av-create entry-start,
Therese Godefroy <=