]> Sergey Matveev's repositories - releases-feed.git/blobdiff - releases.atom.zsh
Trivial style fixes
[releases-feed.git] / releases.atom.zsh
index e8d039e71cfa979f7f2fdffbece89dff2ae8e1f8..2659adac3bd102606b616321b8f8e6af41c2a302 100755 (executable)
@@ -1,15 +1,16 @@
 #!/usr/bin/env zsh
 # releases.atom.zsh -- releases.atom generator
-# Copyright (C) 2022 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2022-2024 Sergey Matveev <stargrave@stargrave.org>
 
-set -e
+setopt ERR_EXIT
 
 [[ -n "$ATOM_ID" ]]
 [[ -n "$NAME" ]]
 [[ -n "$BASE_URL" ]]
 [[ -n "$AUTHOR_EMAIL" ]]
 export TZ=UTC
-UPDATED=`date -Iseconds`
+zmodload -F zsh/datetime b:strftime
+strftime -s UPDATED %FT%TZ
 ATOM=releases.atom
 tmp=`mktemp`
 trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
@@ -26,22 +27,26 @@ cat > $tmp <<EOF
   </author>
 EOF
 
+zmodload -F zsh/stat b:zstat
 for meta (*.meta4(om)) {
     fn=$meta:r
     title=${meta%.tar.*}
-    updated=$(date -j -f %s -Iseconds $(stat -f %m $meta))
+    zstat -A updated -F %FT%TZ +mtime $meta
     cat >> $tmp <<EOF
   <entry>
     <title>$title</title>
     <id>$BASE_URL/$fn</id>
     <link rel="alternate" type="application/metalink4+xml" href="$BASE_URL/$meta" />
-    <updated>$updated</updated>
+    <updated>${updated[1]}</updated>
   </entry>
 EOF
 }
 
 echo "</feed>" >> $tmp
 
-size_our=`stat -f %z $tmp`
-size_their=`stat -f $ATOM`
-[[ $size_our = $size_their ]] || mv $tmp $ATOM
+zstat -A size_our +size $tmp
+size_their=0
+if [[ -e $ATOM ]] ; then
+    zstat -A size_their +size $ATOM
+fi
+[[ ${size_our[1]} = ${size_their[1]} ]] || mv $tmp $ATOM