commit 14fcb2796da0c88b1d647d0d6c033e5c13cdc0e8
Author: sin <sin@2f30.org>
Date:   Thu, 20 Jun 2013 12:52:52 +0100
Initial commit
Diffstat:
| A | auphone |  |  | 16 | ++++++++++++++++ | 
| A | burndisc |  |  | 10 | ++++++++++ | 
| A | daemon |  |  | 10 | ++++++++++ | 
| A | favsync |  |  | 34 | ++++++++++++++++++++++++++++++++++ | 
| A | imgurup |  |  | 9 | +++++++++ | 
| A | mksub |  |  | 26 | ++++++++++++++++++++++++++ | 
| A | mycosmos |  |  | 62 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 
| A | phonedump |  |  | 18 | ++++++++++++++++++ | 
| A | playvid |  |  | 5 | +++++ | 
| A | topdf |  |  | 9 | +++++++++ | 
| A | translate |  |  | 24 | ++++++++++++++++++++++++ | 
| A | unpk |  |  | 58 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 
| A | zohopdf |  |  | 23 | +++++++++++++++++++++++ | 
13 files changed, 304 insertions(+), 0 deletions(-)
diff --git a/auphone b/auphone
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+PROVIDER=2f30.org
+if [ $1 ]
+then
+	OTHER=$1
+else
+	echo "Use $O to talk with someone..." && exit 1
+fi
+AUARGS="-b 1 -r 11000 -e u8"
+
+ssh $PROVIDER "rm -f /tmp/$USER && mkfifo /tmp/$USER"
+
+aucat $AUARGS -o - \
+| ssh $PROVIDER "cat > /tmp/$USER & cat /tmp/$OTHER" \
+| aucat $AUARGS -i -
diff --git a/burndisc b/burndisc
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+DEV=/dev/cd0c
+VOLID=$(basename $PWD)$(date +"%Y%m%d")
+
+echo -n $(du -shL .) $VOLID"? " && read
+SIZ=$(mkisofs -J -R -f -q -print-size .)
+mkisofs -J -R -f -V $VOLID . \
+| cdrecord -dev=$DEV -speed=1 -driveropts=burnfree \
+           -dao -tsize=${SIZ}s -pad -eject -v -
diff --git a/daemon b/daemon
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# this script tries to emulate the behaviour of bsd daemon(3) call
+# runs a job with its std streams closed and detaches from terminal
+
+if test -z $1; then
+	echo usage: $(basename $0) job; exit 1
+fi
+
+(exec "$@" &) > /dev/null 2>&1
diff --git a/favsync b/favsync
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+FAVS={beauty.2f30.org:,drawn:,$HOME/}.xombrero/favorites
+
+# collect
+I=0
+for F in $FAVS
+do
+    rsync -va $F /tmp/favorites.$I
+    I=$(expr $I + 1)
+done
+
+# concat
+rm -f /tmp/favorites.cat
+for F in /tmp/favorites.[0-9]*
+do
+    echo | cat $F - | grep -v '^$' >> /tmp/favorites.cat
+done
+
+# uniq
+NEWLINE='\
+'
+SEP='||'
+sed "$!N;s/\n/$SEP/" /tmp/favorites.cat | sort | uniq \
+    | sed "s/$SEP/$NEWLINE/g" > /tmp/favorites.new
+
+# distribute
+for F in $FAVS
+do
+    rsync -va /tmp/favorites.new $F
+done
+
+# clean
+rm -f /tmp/favorites.*
diff --git a/imgurup b/imgurup
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if test -z "$1"
+then echo Usage: $(basename $0) image && exit 1
+fi
+
+APIKEY=486690f872c678126a2c09a9e196ce1b
+
+curl -F "image=@$1" -F "key=$APIKEY" http://api.imgur.com/2/upload.xml
diff --git a/mksub b/mksub
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# rename subtitle files downloaded from addic7ed.com to match
+# the specified tv series filenames in the current directory
+
+if test -z "$1"; then
+	echo "usage: $(basename $0) "'"Title.of.Show"'
+	exit
+fi
+
+pp="$1"
+tt=$(echo $pp | sed 's/\./ /g')
+
+echo $pp
+for f in ${pp}.S??E??*.{avi,mp4,mkv}; do
+	if test "$(echo $f | grep '*')"; then continue; fi
+	s=$(echo $f | sed "s/.*S\(..\)E...*/\1/")
+	e=$(echo $f | sed "s/.*S..E\(..\).*/\1/")
+	x=$(echo $f | sed "s/.*\.//")
+	b=$(echo ~/downloads/"${tt}"*${s}x${e}*.srt)
+	echo -n "S${s}E${e}"
+	if test "$(echo $b | grep '*')"; then echo; continue; else
+		cp "$b" $(basename $f .$x).srt
+		echo " OK"
+	fi
+done
diff --git a/mycosmos b/mycosmos
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+if test -z "$4"
+then
+    echo usage: $0 user pass target message
+    exit
+fi
+
+USER=$1
+PASS=$2
+TARGET=$3
+MESSAGE="$4"
+
+LOGINURL='http://mail.mycosmos.gr/mycosmos/login.aspx'
+SENDURL='http://mail.mycosmos.gr/mycosmos/SMS_Send.aspx'
+COOKIEJAR=$(mktemp)
+
+# visit login page
+VIEWSTATE=$(curl --cookie-jar $COOKIEJAR $LOGINURL 2> /dev/null \
+    | grep VIEWSTATE | sed 's/.*value="\(.*\)".*/\1/')
+FRESH=$(grep mycosmos $COOKIEJAR \
+    | awk '{print $6"="$7";"}' | tr '\n' ' ' | sed 's/; $//')
+COOKIES=$FRESH
+
+# do login
+curl --cookie-jar $COOKIEJAR \
+    --cookie "$COOKIES" \
+    --form "__VIEWSTATE=$VIEWSTATE" \
+    --form "tbUsername=$USER" \
+    --form "tbPassword=$PASS" \
+    --form "btLogin=Log On" \
+    --silent $LOGINURL > /dev/null
+
+FRESH=$(grep mycosmos $COOKIEJAR \
+    | awk '{print $6"="$7";"}' | tr '\n' ' ' | sed 's/; $//')
+COOKIES="$COOKIES; $FRESH"
+
+# clear cookies
+rm $COOKIEJAR
+
+# visit send page
+VIEWSTATE=$(curl --cookie "$COOKIES" $SENDURL 2> /dev/null \
+    | grep VIEWSTATE | sed 's/.*value="\(.*\)".*/\1/')
+
+# send text message
+STAT=$(curl --cookie "$COOKIES" \
+    --form "__VIEWSTATE=$VIEWSTATE" \
+    --form "txtMobile=$TARGET" \
+    --form "txtMessage=$MESSAGE" \
+    --form "btnSend=Send" \
+    --silent $SENDURL)
+
+# report status
+if test "$(echo $STAT | grep 'Success=True')"
+    then SENT=yes
+    else SENT=no
+fi
+if test "$(echo $STAT | grep 'LimitReached=false')"
+    then LAST=no
+    else LAST=yes
+fi
+echo "sent=$SENT last=$LAST"
diff --git a/phonedump b/phonedump
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# dump contacts from mobile phone using infrared
+# XXX: infrared does not work after suspend
+# gnokiirc:
+# [global]
+# port = /dev/ttypv
+# connection = serial
+# model = AT
+
+TMP=$(mktemp /tmp/phone.XXXXXXXXXX)
+sudo ircomm -d /dev/cua01 -y /dev/ptypv -v2 2>&1 | tee $TMP &
+sleep 7
+if [ -n "$(grep discover $TMP)" ]
+then gnokii --getphonebook ME 1 end --raw | tee phonebook$(date "+%Y%m%d").csv
+fi
+sudo pkill ircomm
+rm $TMP
diff --git a/playvid b/playvid
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+C="^Content-Location: "
+V=$(get_flash_videos -r high -i "$1" | grep "$C" | sed "s/$C//")
+mplayer -really-quiet "$V"
diff --git a/topdf b/topdf
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if test -z "$1" 
+then echo Usage: $(basename $0) document && exit 1
+fi
+
+SRV=http://www.doc2pdf.net/convert/document.pdf
+
+curl -F "inputDocument=@$1" $SRV > "${1%.*}.pdf"
diff --git a/translate b/translate
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+if test -z "$1"
+then
+    echo usage: $0 text
+    exit
+fi
+
+TEXT=$1
+SL=auto
+TL=el
+
+TRANSLATEURL='http://translate.google.com/'
+UA='Mozilla 5.0'
+NEWLINE='\
+'
+
+# do translate
+curl --user-agent "$UA" \
+     --data "sl=$SL" \
+     --data "tl=$TL" \
+     --data-urlencode "text=$TEXT" \
+     --silent $TRANSLATEURL \
+    | sed "s/<\/span>/$NEWLINE/g" | grep result_box | sed 's/.*>//'
diff --git a/unpk b/unpk
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+if [ -z "$1" ]; then
+    echo "Usage: $(basename $0) archive ..."; exit 1
+fi
+
+while [ -n "$1" ]; do
+    case "$1" in
+    *.tar.gz | *.tgz)
+    tar xzf "$1"
+    shift
+    ;;
+    *.tar.bz2 | *.tbz)
+    tar xjf "$1"
+    shift
+    ;;
+    *.zip)
+    unzip "$1"
+    shift
+    ;;
+    *.jar)
+    unzip "$1"
+    shift
+    ;;
+    *.war)
+    unzip "$1"
+    shift
+    ;;
+    *.ace)
+    unace x "$1"
+    shift
+    ;;
+    *.rar)
+    unrar x "$1"
+    shift
+    ;;
+    *.7z)
+    7z x "$1"
+    shift
+    ;;
+    *.tar)
+    tar xf "$1"
+    shift
+    ;;
+    *.gz)
+    gunzip "$1"
+    shift
+    ;;
+    *.bz2)
+    bunzip2 "$1"
+    shift
+    ;;
+    *)
+    echo "File format not supported: $1"
+    shift
+    ;;
+    esac
+done
diff --git a/zohopdf b/zohopdf
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Supported files:
+# * Microsoft Office: doc, docx, xls, xlsx, ppt, pptx, pps
+# * OpenDocument: odt, ods, odp
+# * OpenOffice: sxw, sxc, sxi
+# * Other: rtf, txt, html, csv, tsv 
+
+if [ -n "$1" ]; then FILE="$1"; else
+	echo "Usage: $0 document"; exit
+fi
+NAME=$(echo $FILE | sed "s/\.[^\.]*$//")
+
+MAINURL='https://viewer.zoho.com/converter'
+COOKIEJAR='/tmp/zohocookie.txt'
+AGENT=
+curl --cookie-jar $COOKIEJAR $MAINURL > /dev/null
+COOKIE=$(grep zvcsr $COOKIEJAR | awk '{ print $7 }')
+
+curl --referer $MAINURL \
+--form "file=@$FILE" --form "format=pdf" \
+--form "zvcsrcoo=$COOKIE" --cookie $COOKIEJAR \
+"https://viewer.zoho.com/convert.do" > "$NAME.pdf"