]> git.donarmstrong.com Git - bin.git/blobdiff - update_lists
add reset usb bus command
[bin.git] / update_lists
index d23aa247006c1e8424a23af3d1c9c2fccc661f3f..3a3df8f4512ede8ecebc98973452234490bd3932 100755 (executable)
@@ -1,16 +1,17 @@
-#!/bin/sh
+#!/bin/bash
 
-cd ~/Maildir
-# Build lists sublists
-find lists -maxdepth 1 -mindepth 1 -type d |perl -ne 'chomp; $a = $_; $b = $a; $b =~ s/\//./g; qx(ln -sf $a .$b)'
-# Build bugs sublists
-find bugs  -maxdepth 1 -mindepth 1 -type d |perl -ne 'chomp; $a = $_; $b = $a; $b =~ s/\//./g; qx(ln -sf $a .$b)'
+set -e
 
-# Remove dead lists
-#find ~/Maildir/lists/ -type d -maxdepth 1 -mindepth 1|xargs -n 1 -i sh -c '(( $(find "{}" -type f -iname "*" |wc -l) <= 1 )) && rm -rf "{}"'
-
-find ~/Maildir/lists/ -maxdepth 1 -mindepth 1 -type d|xargs -n 1 -i sh -c 'A={}; (( $(find $A -type f -name "*" -not -name "dovecot*" | wc -l) == 0 )) && rm -rf $A'
-find ~/Maildir/bugs/ -maxdepth 1 -mindepth 1 -type d|xargs -n 1 -i sh -c 'A={}; (( $(find $A -type f -name "*" -not -name "dovecot*" |wc -l) == 0 )) && rm -rf $A'
-
-# Remove broken symlinks
-find . -maxdepth 1 -mindepth 1 -type l -iname '.*' -not -xtype d -print0 |xargs -0 rm -f
\ No newline at end of file
+for maildir in Maildir Mail; do
+    if ! [ -e ~/$maildir ]; then
+        continue
+    fi;
+    ( cd ~/$maildir ;
+      for listtype in lists bugs; do
+          find . -maxdepth 1 -mindepth 1 -type d -iname "$listtype"'.*' -print0|
+              xargs -0 -i bash -c 'A={}; (( $(find "$A" -type f -name "*" -not -name "dovecot*" -not -name ".imap*" -not -name ".customflags" | wc -l) == 0 )) && rm -rf "$A"';
+      done;
+      find . -maxdepth 1 -mindepth 1 -type l -iname '.*' -not -xtype d -delete;
+    );
+    exit 0;
+done;