1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#!/bin/bash
# usage {{{
function usage(){
cat << USAGE
Usage:
-d : Time lag (unit: day) , if you use at yesterday, use -1.
"-d -0" is special syntax, it mean "Last Mon".
-t : Meeting Time (strings, default:"22:00"))
-N : Next Meeting Day (strings)
-T : Next Meeting Time (strings, default:"22:00")
e.g.:
$0
=> Normal days
$0 -d 1
=> Meeting time is yesterday.
$0 -t 23:00 -N "Next Fri" -T 20:00
USAGE
exit 1
}
# }}}
# Variables for arg management{{{
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# These value are "initial" value for script handling, do not touch!
#
# If you want changing values, use with ARGs.
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ------------------
# TIME_LAG : Numeric ; exec/meeting lag; "-d"
# Default is 0(=today). If meeting date is yesterday, set 1.
# Special settings: "-0" mean "Last Mon".
TIME_LAG="0"
# ------------------
# NEXT_DAY_STRING : String ; Next meeting day; "-N"
# NEXT_DAY_STRING is strings for next-meeting-day.
# Default value is "Next Tue"
NEXT_DAY_STRING="Next Tue"
# ------------------
# MEETING_TIME_STRING : String ; Meeting time; "-t"
# NEXT_TIME_STRINGS is strings for current-meeting-time
# Default value is "22:00".
MEETING_TIME_STRING="22:00"
# ------------------
# NEXT_TIME_STRING : String ; Next meeting time; "-T"
# NEXT_TIME_STRINGS is strings for next-meeting-time.
# Default value is "22:00".
NEXT_TIME_STRING="22:00"
# }}}
while getopts d:N:t:T: OPT
do
case $OPT in
"d" ) TIME_LAG="${OPTARG}" ;;
"N" ) NEXT_DAY_STRING="${OPTARG}" ;;
"t" ) MEETING_TIME_STRING="${OPTARG}" ;;
"T" ) NEXT_TIME_STRING="${OPTARG}" ;;
* ) usage
esac
done
if [ "x$TIME_LAG" == 'x-0' ] ; then
TIME_LAG_STRING="Last Tue"
else
TIME_LAG_STRING="${TIME_LAG} day ago"
fi
_MEETING_S=`date -d "${TIME_LAG_STRING} ${MEETING_TIME_STRING}" +%s` || exit 1
_NEXT_S=`date -d "${NEXT_DAY_STRING} ${NEXT_TIME_STRING}" +%s` || exit 1
# build-up mailbody:
DATE_YMD=`date -d "@${_MEETING_S}" '+%Y%m%d'`
#BODY=`wget -q --no-check-certificate --user-agent='' "https://wiki.ubuntulinux.jp/IRCMeeting/${DATE_YMD}?action=raw" -O-`
BODY=`w3m -dump "https://wiki.ubuntulinux.jp/IRCMeeting/${DATE_YMD}?action=raw"`
DATE_F=`date -d "@${_MEETING_S}" '+%F'`
DATE_MDAKM=`date -d "@${_MEETING_S}" '+%-m/%-d (%a) の %-k:%M'`
URL_YMD=`date -d "@${_MEETING_S}" '+%Y/%m/%d'`
NEXT_YMDAKM=`date -d "@${_NEXT_S}" '+%Y/%-m/%-d (%a) の %-k:%M'`
cat << MAILBODY
To: "Ubuntu Japanese Local Community Team" <ubuntu-jp@lists.ubuntu.com>
Subject: #ubuntu-jp IRCミーティングの議事録 ${DATE_F}
${DATE_MDAKM} から#ubuntu-jpで行われたIRCミーティングの議事録です。
次回は ${NEXT_YMDAKM} から行います。
${BODY}
------------------------------------------------------------
ログ: http://irclogs.ubuntu.com/${URL_YMD}/%23ubuntu-jp.html
------------------------------------------------------------
IRCミーティングの詳細は
https://wiki.ubuntulinux.jp/IRCMeeting を参照してください。
------------------------------------------------------------
MAILBODY
# vim syntax sugars{{{
# vim:set ft=sh foldmethod=marker:
# }}}
|