commit 6d0a0f95e2b73cdaff8efc6749aa4092b16837dd
parent e858d074bddc1e8cb3f2b4bac78a30409b40c31c
Author: Jaromil <jaromil@dyne.org>
Date: Fri, 26 Dec 2014 13:43:39 +0100
whitespace cleanup of main jaro command
Diffstat:
M | src/jaro | | | 502 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
1 file changed, 251 insertions(+), 251 deletions(-)
diff --git a/src/jaro b/src/jaro
@@ -95,11 +95,11 @@ error() { if [[ $QUIET == 0 ]]; then print "$fg[red][!]$fg[default] $1" >&2; fi
func() { if [[ $DEBUG == 1 ]]; then print "$fg[blue][D]$fg[default] $1" >&2; fi }
act() {
if [[ $QUIET == 0 ]]; then
- if [ "$1" = "-n" ]; then
- print -n "$fg_bold[white] . $fg_no_bold[default] $2" >&2;
- else
- print "$fg_bold[white] . $fg_no_bold[default] $1" >&2;
- fi
+ if [ "$1" = "-n" ]; then
+ print -n "$fg_bold[white] . $fg_no_bold[default] $2" >&2;
+ else
+ print "$fg_bold[white] . $fg_no_bold[default] $1" >&2;
+ fi
fi
}
@@ -112,18 +112,18 @@ if [[ ${@} == *-D* ]]; then DEBUG=1; fi
# simplifying modes of operation: GNU or MAC
case $(uname) in
Linux) OS=GNU
- notice "Jaro Mail v$VERSION running on GNU/Linux" ;;
+ notice "Jaro Mail v$VERSION running on GNU/Linux" ;;
Darwin) OS=MAC
- notice "Jaro Mail v$VERSION running on Mac/OSX" ;;
+ notice "Jaro Mail v$VERSION running on Mac/OSX" ;;
*) OS=GNU # default
- error "Running on an unknown operating system, assuming GNU" ;;
+ error "Running on an unknown operating system, assuming GNU" ;;
esac
# check if we are inside the directory
if [ -r jaro/bin/jaro ]; then
- MAILDIRS=`pwd`
+ MAILDIRS=`pwd`
# check if we are on OSX
elif [ -r /Applications/JaroMail.app ]; then
@@ -173,15 +173,15 @@ PATH=$WORKDIR/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/opt/local/bin
if [ -d $WORKDIR/zlibs ]; then
# if testing from source load uncompiled libs
if [ "$WORKDIR" = "../src" ]; then
- for z in `find $WORKDIR/zlibs -type f`; do
- func "Loading zlib: ${z}"
- . ${z}
- done
+ for z in `find $WORKDIR/zlibs -type f`; do
+ func "Loading zlib: ${z}"
+ . ${z}
+ done
else
- for z in `find $WORKDIR/zlibs -type f | grep -v '.zwc$'`; do
- func "Loading zlib: ${z}"
- . ${z}
- done
+ for z in `find $WORKDIR/zlibs -type f | grep -v '.zwc$'`; do
+ func "Loading zlib: ${z}"
+ . ${z}
+ done
fi
act "full set of auxiliary functions loaded"
elif [[ $1 = source ]]; then
@@ -200,35 +200,35 @@ addressbook="$MAILDIRS/Addressbook"
TMPDIR="$MAILDIRS/tmp/jaromil.$USER"
case $OS in
GNU)
- touch /dev/shm/jaromail.test.tmp > /dev/null
- { test $? = 0 } && {
- # we can use volatile ram
- TMPDIR=/dev/shm/tmp.jaromail.$USER
- TMPRAM=1
- }
-
- # backward compatibility tests for old paths in JaroMail <1.3
- { test -d $WORKDIR/Accounts } && { test ! -d $ACCOUNTS } && {
- act "Updating accounts location: $ACCOUNTS"
- cp -ra $WORKDIR/Accounts $ACCOUNTS }
-
- { test -r "$WORKDIR/keyring" } && { test ! -r "$KEYRING" } && {
- act "Updating keyring location: $KEYRING"
- cp $WORKDIR/keyring "$KEYRING" }
-
- { test -r $WORKDIR/addressbook } && { test ! -r $addressbook } && {
- act "Updating addressbook location: $addressbook"
- cp $WORKDIR/addressbook $addressbook }
-
- ;;
+ touch /dev/shm/jaromail.test.tmp > /dev/null
+ { test $? = 0 } && {
+ # we can use volatile ram
+ TMPDIR=/dev/shm/tmp.jaromail.$USER
+ TMPRAM=1
+ }
+
+ # backward compatibility tests for old paths in JaroMail <1.3
+ { test -d $WORKDIR/Accounts } && { test ! -d $ACCOUNTS } && {
+ act "Updating accounts location: $ACCOUNTS"
+ cp -ra $WORKDIR/Accounts $ACCOUNTS }
+
+ { test -r "$WORKDIR/keyring" } && { test ! -r "$KEYRING" } && {
+ act "Updating keyring location: $KEYRING"
+ cp $WORKDIR/keyring "$KEYRING" }
+
+ { test -r $WORKDIR/addressbook } && { test ! -r $addressbook } && {
+ act "Updating addressbook location: $addressbook"
+ cp $WORKDIR/addressbook $addressbook }
+
+ ;;
MAC)
- mount | grep 'JaroTmp' > /dev/null
- { test $? = 0 } && {
- # our RAM temp directory is active
- TMPDIR=/Volumes/JaroTmp/jaromail.$USER
- TMPRAM=1
- }
- ;;
+ mount | grep 'JaroTmp' > /dev/null
+ { test $? = 0 } && {
+ # our RAM temp directory is active
+ TMPDIR=/Volumes/JaroTmp/jaromail.$USER
+ TMPRAM=1
+ }
+ ;;
esac
# use the TMP in RAM if possible, for acceleration
@@ -274,8 +274,8 @@ MUTTDIR="$MAILDIRS/.mutt"
# use gnome-keyring for passwords on GNU systems
GNOMEKEY=0
pidof gnome-keyring-daemon > /dev/null && {
- act "using gnome-keyring to store secrets"
- GNOMEKEY=1 }
+ act "using gnome-keyring to store secrets"
+ GNOMEKEY=1 }
cleanexit() {
@@ -283,41 +283,41 @@ cleanexit() {
# security check
{ test "$TMPDIR" = "" } && {
- error "Temporary directory not defined"
- act "skipping cleanup, this might leave private traces."
- return 1
+ error "Temporary directory not defined"
+ act "skipping cleanup, this might leave private traces."
+ return 1
}
# first delete dirs
tmpdirs=`${=find} "$TMPDIR" -maxdepth 1 -type d`
for d in ${(f)tmpdirs}; do
- { test "$d" = "$TMPDIR" } || {
- func "deleting dir: $d"
- ${=rm} -r "${d}" }
+ { test "$d" = "$TMPDIR" } || {
+ func "deleting dir: $d"
+ ${=rm} -r "${d}" }
done
# then locks, with a warning
llist=`${=find} "$TMPDIR" -maxdepth 1 -type f -name '*.lock'`
for l in ${(f)llist}; do
- lname=`basename ${(s:.lock:)l}`
- func "cleaning lock for $lname"
-
- # skip if in course of unlink - parallel operation, see unlink()
- pidfile="${TMPDIR}/$lname.pid"
- if [ -r ${pidfile} ]; then
- pid=`cat $pidfile`
- func "forced removal of lock left by pid $pid: $lname"
- rm -f ${pidfile}
- else
- func "forced removal of lock left by unknown pid: $lname"
- fi
- rm -f "${TMPDIR}/${lname}.lock"
-
- # remove the actual file
- if [ -r "${TMPDIR}/$lname" ]; then
- func "deleting temp file: ${TMPDIR}/$lname"
- ${=rm} "${TMPDIR}/$lname"
- else func "empty lock: file was already removed"; fi
+ lname=`basename ${(s:.lock:)l}`
+ func "cleaning lock for $lname"
+
+ # skip if in course of unlink - parallel operation, see unlink()
+ pidfile="${TMPDIR}/$lname.pid"
+ if [ -r ${pidfile} ]; then
+ pid=`cat $pidfile`
+ func "forced removal of lock left by pid $pid: $lname"
+ rm -f ${pidfile}
+ else
+ func "forced removal of lock left by unknown pid: $lname"
+ fi
+ rm -f "${TMPDIR}/${lname}.lock"
+
+ # remove the actual file
+ if [ -r "${TMPDIR}/$lname" ]; then
+ func "deleting temp file: ${TMPDIR}/$lname"
+ ${=rm} "${TMPDIR}/$lname"
+ else func "empty lock: file was already removed"; fi
done
@@ -326,14 +326,14 @@ cleanexit() {
}
# make sure tmp is wiped from sensitive data in case of sigINT
TRAPINT() {
- error "Caught signal, aborting operations."
+ error "Caught signal, aborting operations."
- { test $CLEANEXIT = 1 } && {
- func "Forcing removal of locks"
- cleanexit & }
+ { test $CLEANEXIT = 1 } && {
+ func "Forcing removal of locks"
+ cleanexit & }
- if [ "$DEBUG" = "1" ]; then return 1
- else exit 1; fi
+ if [ "$DEBUG" = "1" ]; then return 1
+ else exit 1; fi
}
# binary programs recognition
@@ -341,52 +341,52 @@ check_bin() {
# required programs
for req in pinentry fetchmail gpg; do
- command -v $req >/dev/null
- { test $? != 0 } && {
- error "Cannot find $req. Please install it."
- exit 1
- }
+ command -v $req >/dev/null
+ { test $? != 0 } && {
+ error "Cannot find $req. Please install it."
+ exit 1
+ }
done
# make sure a gnupg dir exists
{ test -r $HOME/.gnupg/pubring.gpg } || {
- ${=mkdir} $HOME/.gnupg
- touch $HOME/.gnupg/pubring.gpg
- touch $HOME/.gnupg/secring.gpg
+ ${=mkdir} $HOME/.gnupg
+ touch $HOME/.gnupg/pubring.gpg
+ touch $HOME/.gnupg/secring.gpg
}
# which find command to use
case $OS in
- GNU) find="find -O3" ;;
- MAC) find="gfind -O3" ;;
- *) find="find"
+ GNU) find="find -O3" ;;
+ MAC) find="gfind -O3" ;;
+ *) find="find"
esac
# which wipe command to use
if command -v wipe > /dev/null; then
- rm="wipe -f -s -q -R /dev/urandom"
+ rm="wipe -f -s -q -R /dev/urandom"
elif command -v srm > /dev/null; then
- rm="srm -m"
+ rm="srm -m"
else
- rm="rm -f"
+ rm="rm -f"
fi
func "Rm binary: $rm"
# which mutt binary to use
if command -v mutt > /dev/null; then
- # system-wite
- mutt="mutt"
- # TODO: check if this is also the location on Fedora
- pgpewrap="/usr/lib/mutt/pgpewrap"
- dotlock="mutt_dotlock"
+ # system-wite
+ mutt="mutt"
+ # TODO: check if this is also the location on Fedora
+ pgpewrap="/usr/lib/mutt/pgpewrap"
+ dotlock="mutt_dotlock"
elif command -v mutt-jaro > /dev/null; then
- # in-house compiled
- mutt=mutt-jaro
- pgpewrap=pgpewrap
- dotlock=dotlock
+ # in-house compiled
+ mutt=mutt-jaro
+ pgpewrap=pgpewrap
+ dotlock=dotlock
else
- error "Cannot find Mutt. Please install it."
- exit 1
+ error "Cannot find Mutt. Please install it."
+ exit 1
fi
func "Mutt binary: $mutt"
# make sure there is always a muttpass file even if empty
@@ -403,11 +403,11 @@ option_is_set() {
[[ -n ${(k)opts[$1]} ]];
r=$?
if [[ $2 == out ]]; then
- if [[ $r == 0 ]]; then
- echo 'set'
- else
- echo 'unset'
- fi
+ if [[ $r == 0 ]]; then
+ echo 'set'
+ else
+ echo 'unset'
+ fi
fi
return $r;
}
@@ -465,15 +465,15 @@ a pipe | in front indicate they take an email body from stdin
account names correspond to the filenames, i.e. imap.default
fetch downloads emails locally from an $account on-line
- option "keep" (default) to avoid deleting from servers
+ option "keep" (default) to avoid deleting from servers
send send all emails queued in outbox/ to an smtp.$account
peek connect to an imap.$account with ncurses terminal mutt
- remote folders supported. use to delete without download
+ remote folders supported. use to delete without download
passwd set account passwords in the OS native keyring
- or into a simple, file based, gpg encrypted database.
+ or into a simple, file based, gpg encrypted database.
|queue queue a mail in outbox/ for send
@@ -485,7 +485,7 @@ maildirs are directories of mails downloaded in Mail/
open open a maildir folder (can use -R for read-only)
backup (mairix) move mails from a maildir to another one
- match mails to move based on date ranges or strings
+ match mails to move based on date ranges or strings
rmdupes remove all duplicated e-mails into a maildir
@@ -578,9 +578,9 @@ main()
### Detect subcommand
local -aU every_opts #every_opts behave like a set; that is, an array with unique elements
for optspec in $subcommands_opts$main_opts; do
- for opt in ${=optspec}; do
- every_opts+=${opt}
- done
+ for opt in ${=optspec}; do
+ every_opts+=${opt}
+ done
done
local -a oldstar
oldstar=($argv)
@@ -588,21 +588,21 @@ main()
unset discardme
subcommand=$1
if [[ -z $subcommand ]]; then
- subcommand="__default"
+ subcommand="__default"
fi
# QUAA
if [[ -z ${(k)subcommands_opts[$subcommand]} ]]; then
# unknown command, pass it to autostart
- func "unknown command, autostart: $@"
- autostart ${=@}
- exitcode=$?
- { test $exitcode != 0 } && {
- error "command \"$subcommand\" not recognized"
- act "try -h for help"
- CLEANEXIT=0
- }
- return $exitcode
+ func "unknown command, autostart: $@"
+ autostart ${=@}
+ exitcode=$?
+ { test $exitcode != 0 } && {
+ error "command \"$subcommand\" not recognized"
+ act "try -h for help"
+ CLEANEXIT=0
+ }
+ return $exitcode
fi
argv=(${oldstar})
@@ -612,107 +612,107 @@ main()
# zsh magic: ${=string} will split to multiple arguments when spaces occur
set -A cmd_opts ${main_opts} ${=subcommands_opts[$subcommand]}
if [[ -n $cmd_opts ]]; then #if there is no option, we don't need parsing
- zparseopts -M -E -D -Aopts ${cmd_opts}
- if [[ $? != 0 ]]; then
- error "Some error occurred during option processing."
- exitcode=1
- return 1
- fi
+ zparseopts -M -E -D -Aopts ${cmd_opts}
+ if [[ $? != 0 ]]; then
+ error "Some error occurred during option processing."
+ exitcode=1
+ return 1
+ fi
fi
#build PARAM (array of arguments) and check if there are unrecognized options
local ok=0
for arg in $*; do
- if [[ $arg == '--' || $arg == '-' ]]; then
- ok=1
- continue #it shouldnt be appended to PARAM
- elif [[ $arg[1] == '-' ]]; then
- if [[ $ok == 0 ]]; then
- error "unrecognized option $arg"
- exitcode=1
- return 1
- fi
- fi
- PARAM+=$arg
+ if [[ $arg == '--' || $arg == '-' ]]; then
+ ok=1
+ continue #it shouldnt be appended to PARAM
+ elif [[ $arg[1] == '-' ]]; then
+ if [[ $ok == 0 ]]; then
+ error "unrecognized option $arg"
+ exitcode=1
+ return 1
+ fi
+ fi
+ PARAM+=$arg
done
#first parameter actually is the subcommand: delete it and shift
if [[ $subcommand != '__default' ]]; then
- PARAM[1]=()
- shift
+ PARAM[1]=()
+ shift
fi
### End parsing command-specific options
if option_is_set -v; then
- cat $JAROMAILEXEC | awk '/^#/ {print $0 } !/^#/ {exit}'
- echo
+ cat $JAROMAILEXEC | awk '/^#/ {print $0 } !/^#/ {exit}'
+ echo
fi
{ option_is_set -a } && { account=`option_value -a` }
{ option_is_set -l } && {
- if [[ "`option_value -l`" =~ "black" ]]; then list=blacklist; fi
- if [[ "`option_value -l`" =~ "white" ]]; then list=whitelist; fi
+ if [[ "`option_value -l`" =~ "black" ]]; then list=blacklist; fi
+ if [[ "`option_value -l`" =~ "white" ]]; then list=whitelist; fi
}
{ option_is_set -h } && { CLEANEXIT=0
- usage; return 0 }
+ usage; return 0 }
{ option_is_set -v } && { CLEANEXIT=0
- cat $JAROMAILEXEC | awk 'BEGIN { v=1 } !/^#/ { exit }'
- return 0 }
+ cat $JAROMAILEXEC | awk 'BEGIN { v=1 } !/^#/ { exit }'
+ return 0 }
{ option_is_set -q } && { QUIET=1 }
{ option_is_set -D } && { DEBUG=1; QUIET=0
- func "All debug messages ON" }
+ func "All debug messages ON" }
{ option_is_set -n } && { DRYRUN=1
- act "Dry run, show operations without executing them." }
+ act "Dry run, show operations without executing them." }
{ option_is_set -R } && { muttflags+=" -R " }
{ option_is_set -f } && { FORCE=1 }
case "$subcommand" in
- compose) compose ${PARAM} ;;
- queue) queue ${PARAM} ;;
- fetch)
- if [ "$account" = "" ]; then fetchall
- else fetch; fi
- filter_maildir incoming
- ;;
- send) send ${PARAM} ;; # was checking is_online
- peek) peek ${PARAM} ;; # was checking is_online
+ compose) compose ${PARAM} ;;
+ queue) queue ${PARAM} ;;
+ fetch)
+ if [ "$account" = "" ]; then fetchall
+ else fetch; fi
+ filter_maildir incoming
+ ;;
+ send) send ${PARAM} ;; # was checking is_online
+ peek) peek ${PARAM} ;; # was checking is_online
- later) later ${PARAM} ;;
+ later) later ${PARAM} ;;
- update|init)
- init_inbox
- update_filters
- update_mutt
- update_sieve
- ;;
+ update|init)
+ init_inbox
+ update_filters
+ update_mutt
+ update_sieve
+ ;;
- help) CLEANEXIT=0; usage ;;
+ help) CLEANEXIT=0; usage ;;
- search) CLEANEXIT=0; search ${PARAM} ;;
+ search) CLEANEXIT=0; search ${PARAM} ;;
- stat) CLEANEXIT=0; stats ${PARAM} ;;
+ stat) CLEANEXIT=0; stats ${PARAM} ;;
- complete) CLEANEXIT=0; complete ${PARAM} ;;
- isknown) CLEANEXIT=0; sender_isknown ${PARAM} ;;
- learn) CLEANEXIT=0; learn ${PARAM} ;;
- forget) CLEANEXIT=0; forget ${PARAM} ;;
- list) CLEANEXIT=0; list_addresses ${PARAM} ;;
+ complete) CLEANEXIT=0; complete ${PARAM} ;;
+ isknown) CLEANEXIT=0; sender_isknown ${PARAM} ;;
+ learn) CLEANEXIT=0; learn ${PARAM} ;;
+ forget) CLEANEXIT=0; forget ${PARAM} ;;
+ list) CLEANEXIT=0; list_addresses ${PARAM} ;;
- import) import_addressbook ${PARAM} ;;
- "export") export_vcard ${PARAM} ;;
- abook) edit_abook ${PARAM} ;;
+ import) import_addressbook ${PARAM} ;;
+ "export") export_vcard ${PARAM} ;;
+ abook) edit_abook ${PARAM} ;;
- edit) CLEANEXIT=0; edit_file ${PARAM} ;;
- open) CLEANEXIT=0; open_folder ${PARAM} ;;
- preview) CLEANEXIT=0; preview_file ${PARAM} ;;
+ edit) CLEANEXIT=0; edit_file ${PARAM} ;;
+ open) CLEANEXIT=0; open_folder ${PARAM} ;;
+ preview) CLEANEXIT=0; preview_file ${PARAM} ;;
- backup) backup ${PARAM} ;;
- rmdupes) rmdupes ${PARAM} ;;
- merge) merge ${PARAM} ;;
+ backup) backup ${PARAM} ;;
+ rmdupes) rmdupes ${PARAM} ;;
+ merge) merge ${PARAM} ;;
- filter)
- update_filters ${PARAM}
- filter_maildir ${PARAM}
- ;;
+ filter)
+ update_filters ${PARAM}
+ filter_maildir ${PARAM}
+ ;;
- deliver) deliver ${PARAM} ;;
+ deliver) deliver ${PARAM} ;;
passwd) new_password ;;
@@ -722,70 +722,70 @@ main()
isonline) is_online ${=PARAM}; exitcode=$? ;;
- publish)
- md="$1"
- { maildircheck "$md" 2>/dev/null } || { md="${MAILDIRS}/${md}" }
- pubdb_update "$md"
- pubdb_render_maildir "$md"
- exitcode=$? ;;
-
- 'source') CLEANEXIT=0; return 0 ;;
- __default) func "no command provided"
- autostart ${PARAM}
- exitcode=$?
- ;;
-
- imap)
- imapcmd="$1"
- case $1 in
- getsize)
- read_account $account
- ask_password
- bytes_total=`imap_get_size "$2"`
- notice "Size of account $login on $imap"
- act "$bytes_total bytes"
- mib_total=$(( $bytes_total / 1048576 ))
- act "$mib_total MB (MiB)"
- exitcode=$?
- ;;
- listfolders)
- read_account $account
- ask_password
- folders=(`imap_list_folders`)
- notice "List of folders for $login on $imap"
- for f in $folders; do
- print "$f"
- done
- exitcode=$?
- ;;
- # interactive)
- # read_account
- # ask_password
- # imap_interactive_shell
- # exitcode=$?
- # ;;
- *)
- error "imap needs a subcommand: getsize or listfolders"
- CLEANEXIT=0
- ;;
- esac
- ;;
-
+ publish)
+ md="$1"
+ { maildircheck "$md" 2>/dev/null } || { md="${MAILDIRS}/${md}" }
+ pubdb_update "$md"
+ pubdb_render_maildir "$md"
+ exitcode=$? ;;
+
+ 'source') CLEANEXIT=0; return 0 ;;
+ __default) func "no command provided"
+ autostart ${PARAM}
+ exitcode=$?
+ ;;
+
+ imap)
+ imapcmd="$1"
+ case $1 in
+ getsize)
+ read_account $account
+ ask_password
+ bytes_total=`imap_get_size "$2"`
+ notice "Size of account $login on $imap"
+ act "$bytes_total bytes"
+ mib_total=$(( $bytes_total / 1048576 ))
+ act "$mib_total MB (MiB)"
+ exitcode=$?
+ ;;
+ listfolders)
+ read_account $account
+ ask_password
+ folders=(`imap_list_folders`)
+ notice "List of folders for $login on $imap"
+ for f in $folders; do
+ print "$f"
+ done
+ exitcode=$?
+ ;;
+ # interactive)
+ # read_account
+ # ask_password
+ # imap_interactive_shell
+ # exitcode=$?
+ # ;;
+ *)
+ error "imap needs a subcommand: getsize or listfolders"
+ CLEANEXIT=0
+ ;;
+ esac
+ ;;
+
extract)
md_extract ${=@}
exitcode=$?
;;
-
- *) # unknown command, pass it to autostart
- func "unknown command, remote check"
- autostart ${PARAM}
- exitcode=$?
- { $exitcode != 0 } && {
- error "command \"$subcommand\" not recognized"
- act "try -h for help"
- CLEANEXIT=0
- }
- ;;
+
+ *) # unknown command, pass it to autostart
+ func "unknown command, remote check"
+ autostart ${PARAM}
+ exitcode=$?
+ { $exitcode != 0 } && {
+ error "command \"$subcommand\" not recognized"
+ act "try -h for help"
+ CLEANEXIT=0
+ }
+ ;;
esac
exitcode=$?
return 0