add mastodon
[iankelling.org] / get-comments
1 #!/bin/bash
2 # Copyright (C) 2016 Ian Kelling
3
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17 set -eE -o pipefail
18 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
19
20 cd "${BASH_SOURCE%/*}/proposed-comments"
21
22 all=false
23 shell="ssh $(chost iankelling.org)"
24 while [[ $1 ]]; do
25 case $1 in
26 -a) all=true; shift ;;
27 -l) shell= ; shift ;; # -l for local site instead of iankelling.org
28 esac
29 done
30
31 s="$shell sqlite3 $PWD/comments.sqlite"
32
33 if ! $all; then
34 date=$($s <<'EOF'
35 select max(date) from c where
36 state = 'moderated' or
37 state = 'banned' or
38 state = 'picked';
39 EOF
40 )
41 fi
42
43 # we may want to avoid rate limited posts here too.
44 sql="select * from c;"
45 if [[ $date ]]; then
46 sql+=" where date > cast('$date' as real)"
47 fi
48 echo "executing: $sql"
49 $s > /tmp/hcomments <<<"$sql"