Add mutt specific scripts here
[dotfiles/scripts.git] / mutt-copy2dir
1 #!/bin/sh
2 #
3 # Copyright (c) 2010 Mary Gardiner
4
5 # Permission is hereby granted, free of charge, to any person obtaining a copy
6 # of this software and associated documentation files (the "Software"), to deal
7 # in the Software without restriction, including without limitation the rights
8 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 # copies of the Software, and to permit persons to whom the Software is
10 # furnished to do so, subject to the following conditions:
11
12 # The above copyright notice and this permission notice shall be included in
13 # all copies or substantial portions of the Software.
14
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 # THE SOFTWARE.
22
23 ## INFO
24 # This is a very simple script designed to be used when using the email client
25 # mutt remotely. It copies attachments to a web accessible folder and tells you
26 # where to view them.
27 #
28 # More details are available at http://puzzling.org/logs/thoughts/2010/May/6/mutt-attachments
29
30 # if you want to override OUTPUTDIR and VIEWINGDIR edit them here or create a
31 # ~/.copy-to-dir # file that looks like:
32 # OUTPUTDIR=someotherdir
33 # VIEWINGDIR=someother URI
34
35 OUTPUTDIR=$HOME/public_html/mutt
36 VIEWINGDIR=http://example.com/~user/mutt
37
38 CONFIGFILE=$HOME/.copy-to-dir
39 if [ -e "$CONFIGFILE" ]
40 then
41         . "$CONFIGFILE"
42 fi
43
44 if [ -n "$1" ]
45 then
46         if [ ! -d "$OUTPUTDIR" ]
47         then
48                 echo "ERROR: '$OUTPUTDIR' doesn't exist, or is not a directory"
49         else
50                 cp "$1" "$OUTPUTDIR"
51                 SHORTNAME=`basename "$1"`
52                 DELETE="$OUTPUTDIR/$SHORTNAME"
53                 chmod 644 "$DELETE"
54                 echo "View attachment $SHORTNAME at $VIEWINGDIR/$SHORTNAME"
55         fi
56 fi
57
58 # From http://www.unix.com/unix-dummies-questions-answers/5961-wait-input.html
59
60 if [ -n "$DELETE" ]
61 then
62         echo "Press any key to continue, and delete viewable attachment\c"
63 else
64         echo "No attachment specified, press any key to continue"
65 fi
66 oldstty=$(stty -g)
67 stty -icanon -echo min 1 time 0
68 dd bs=1 count=1 2>/dev/null
69 stty "$oldstty"
70
71 if [ -n "$DELETE" ]
72 then
73         rm $DELETE
74 fi