annotate mcabber/contrib/events/eventcmd.pastebin @ 2169:4889f429fdd0

Get read of bashism in contrib/events/eventcmd.pastebin thanks to Raphael Geissert, see Debian BTS issue ##772307.
author Mikael Berthe <mikael@lilotux.net>
date Sun, 15 Feb 2015 12:12:22 +0100
parents 6df03b9b17ba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1516
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 #!/bin/sh
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3 # event_command url handling script for mcabber
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 # by
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5 # * Alexander Clouter <alex@digriz.org.uk>
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6 # * Jamie Lentin <jamie@lentin.co.uk>
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
7 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
8 # For tinyurl'ing (sending tinyurl's of URL's sent to you
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
9 # resent as a headline to yourself) you set your *own*
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
10 # jabber id for 'me' and it's probably best leaving
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
11 # 'tinyurltrigger' unless you know what you are doing.
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
12 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13 # For pastebin support (dumping the URL as an HTML anchor
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
14 # into a local file that could be exported by a webserver
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15 # or as a file a web-browser can open) tinker with the
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 # pastebin lines.
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
18 # If you want to disable a one of the facilities, just
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
19 # comment out the pair of variables you do not want.
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 #set -x
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 ## configuration
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24 # tinyurl'ifier
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25 me=jim@jabber.li
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
26 tinyurltrigger=24
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
27 # pastebin support
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
28 pastebin_file=~/bitbucket/stuff/pastebin.html
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
29 pastebin_line_count=10
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
30
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
31 # Don't do 'owt unless recieving a message
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
32 [ x$1 != xMSG ] && exit 0
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
33 [ x$2 != xIN ] && exit 0
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
34
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
35 jid=$3
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
36 # do nothing if it's from self
2169
4889f429fdd0 Get read of bashism in contrib/events/eventcmd.pastebin
Mikael Berthe <mikael@lilotux.net>
parents: 1517
diff changeset
37 [ "$jid" = "$me" ] && exit 0
1516
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
38
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
39 # If receiving a message, scan for links
1517
6df03b9b17ba eventcmd.pastebin: add https and ftp support (suggested by Vic and M. Vuets)
Mikael Berthe <mikael@lilotux.net>
parents: 1516
diff changeset
40 url=$(cat "$4" | awk 'BEGIN { RS="( |\n|\t)+"; FS="�"; } /(https?|ftp):\/\// { print $1 }')
1516
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
42 if [ -n "$url" ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 date=$(/bin/date)
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45 if [ -n "$me" -a ${#url} -ge $tinyurltrigger ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46 tinyurl=`wget -q -O - http://tinyurl.com/api-create.php?url="$url"`
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
48 echo "say_to -q -h $me <= $jid $url" > ~/.mcabber/mcabber.fifo
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
49 echo "say_to -q -h $me $tinyurl" > ~/.mcabber/mcabber.fifo
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
50 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
51 if [ -n "$pastebin_file" ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
52 if [ ! -f "$pastebin_file" ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
53 touch "$pastebin_file"
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
54 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
55
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
56 sed -i -e :a -e '$q;N;11,$D;ba' "$pastebin_file"
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
57 printf '%s (%s): <a href="%s">%s</a><br/>\n' "$date" "$jid" "$url" "$url" >> $pastebin_file
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
58 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
59 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
60
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
61 [ -n "$4" ] && rm "$4"
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
62
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
63 exit 0