]> git.plutz.net Git - serve0/commitdiff
use unified DB functions
authorPaul Hänsch <paul@plutz.net>
Wed, 17 Nov 2021 01:28:55 +0000 (02:28 +0100)
committerPaul Hänsch <paul@plutz.net>
Wed, 17 Nov 2021 01:28:55 +0000 (02:28 +0100)
multitag.sh

index 9848ac3e34bcd30613e7d7add918e11c5ab06b16..888ff9d9a18bcc7f29d96139ab9cdded84a7bfb1 100755 (executable)
@@ -1,7 +1,6 @@
 #!/bin/sh
 
 #!/bin/sh
 
-. "$_EXEC/cgilite/storage.sh"
-. "$_EXEC/indexmeta.sh"
+. "$_EXEC/db_meta.sh"
 
 newtags=''
 for tn in $(seq 1 $(POST_COUNT tag)); do
 
 newtags=''
 for tn in $(seq 1 $(POST_COUNT tag)); do
@@ -15,14 +14,10 @@ while [ "${newtags%${BR}}" != "${newtags}" ]; do newtags="${newtags%${BR}}"; don
 [ "$(POST op)" = del ] && deltags="$newtags"
 
 for select in $(seq 1 $(POST_COUNT select)); do
 [ "$(POST op)" = del ] && deltags="$newtags"
 
 for select in $(seq 1 $(POST_COUNT select)); do
-  file="$_DATA/$ITEM/$(POST select $select |PATH)"
-  meta="${file%/*}/.index/meta"
+  file="$(POST select $select)"
 
 
-  read -r length width height tags comment fn <<-EOF
-       $(meta_info "$file")
-       EOF
-  [ "$fn" ] || continue
-  tags="$(UNSTRING "${tags#tags=}" |tr , '\n')"
+  read_meta "${file%.*}" || continue
+  tags="$(printf %s\\n "$META_TAGS" |tr , \\n)"
 
   if [ ! "$deltags" ]; then
     extags="$(printf '%s' "${newtags}" |grep -e "^-" |cut -d: -f1 )"
 
   if [ ! "$deltags" ]; then
     extags="$(printf '%s' "${newtags}" |grep -e "^-" |cut -d: -f1 )"
@@ -31,26 +26,15 @@ for select in $(seq 1 $(POST_COUNT select)); do
       tags="$(printf %s\\n "$tags" |grep -vEe '^-[^:]+$')"
     fi
     tags="$(printf '%s\n' "${tags},${newtags}" \
       tags="$(printf %s\\n "$tags" |grep -vEe '^-[^:]+$')"
     fi
     tags="$(printf '%s\n' "${tags},${newtags}" \
-            | tr , '\n' |sort -u |tr '\n' , \
-            | STRING)"
+            | tr , '\n' |sort -u |tr '\n' ,)"
   else
     detag="${deltags}${BR}"; while [ "$detag" ]; do
       tags="$(printf '%s\n' "$tags" |grep -vxFe "${detag%%${BR}*}")"
       detag="${detag#*${BR}}"
     done
   else
     detag="${deltags}${BR}"; while [ "$detag" ]; do
       tags="$(printf '%s\n' "$tags" |grep -vxFe "${detag%%${BR}*}")"
       detag="${detag#*${BR}}"
     done
-    tags="$(printf '%s\n' "$tags" |sort -u |tr '\n' , |STRING)"
+    tags="$(printf '%s\n' "$tags" |sort -u |tr '\n' ,)"
   fi
   tags="${tags#,}"; tags="${tags%,}"
 
   fi
   tags="${tags#,}"; tags="${tags%,}"
 
-  if LOCK "$meta"; then
-    grep -avF "        $fn" "$meta" >"${meta}.tmp"
-
-    printf '%i %i      %i      tags=%s comment=%s      %s\n' \
-           "$length" "$width" "$height" "$tags" \
-           "${comment#comment=}" "$fn" \
-      >>"${meta}.tmp"
-    mv "${meta}.tmp" "$meta"
-
-    RELEASE "$meta"
-  fi
+  update_meta "$META_NAME" tags="${tags}"
 done
 done