dotfiles

Alpine Linux dotfiles

git clone git://git.lin.moe/dotfiles.git

 1#!/usr/bin/env sh
 2
 3: ${KPASTE_HOST:="https://p.koi.moe"}
 4: ${KPASTE_EXPIRE=""}
 5: ${KPASTE_READ=""}
 6: ${KPASTE_USER:=""}
 7
 8KPASTE_DEL=
 9
10function usage() {
11    cat << EOF
12Usage:
13  Create/Update:
14    $(basename $0) [-e expire] [-r readtimes] [-k notekey] [-u user:pass] [file]
15    or
16    <command> | $(basename $0) [-e expire] [-r readtimes] [-k notekey] [-u user:pass]
17
18  Delete:
19    $(basename $0) -d -k <notekey>
20
21Environments:
22  KPASTE_HOST   = [$KPASTE_HOST]
23  KPASTE_USER   = [***]
24  KPASTE_EXPIRE = [$KPASTE_EXPIRE]
25  KPASTE_READ   = [$KPASTE_READ]
26EOF
27}
28
29
30
31while getopts ":e:r:u:k:dh" opt;  do
32    case $opt in
33        e)
34            KPASTE_EXPIRE=$OPTARG
35            ;;
36        r)
37            KPASTE_READ=$OPTARG
38            ;;
39        u)
40            KPASTE_USER=$OPTARG
41            ;;
42        k)
43            KPASTE_KEY=$OPTARG
44            ;;
45        d)
46            KPASTE_DEL="1"
47            ;;
48        h)
49            usage
50            exit 0
51            ;;
52    esac
53done
54
55shift $(($OPTIND - 1))
56
57curl_opts=
58
59[ -z "$KPASTE_USER" ] || curl_opts="$curl_opts --user $KPASTE_USER"
60
61if [ -z "$KPASTE_DEL" ]; then
62    [ -z "$KPASTE_EXPIRE" ] || curl_opts="$curl_opts -Fexpire=$KPASTE_EXPIRE"
63    [ -z "$KPASTE_READ" ] ||  curl_opts="$curl_opts -Fread=$KPASTE_READ"
64
65    [ "$#" -eq "0" ] \
66        && curl_opts="$curl_opts -Ff=@-" \
67            || curl_opts="$curl_opts -Ff=@$1"
68else
69    [ -z "$KPASTE_DEL" ] && curl_opts="$curl_opts -XPOST" || curl_opts="$curl_opts -XDELETE"
70fi
71
72
73
74curl \
75    $curl_opts \
76    "$KPASTE_HOST/$KPASTE_KEY"
77
78
79