s4
changeset 488:9f5b08b205bf
Allow numeric argument for day(s)/week(s)/month(s)/year(s)
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Thu, 15 Feb 2018 12:24:39 +0859 |
parents | b17bdc798dc5 |
children | 075897fee2c0 |
files | s4-blog.sh |
diffstat | 1 files changed, 12 insertions(+), 3 deletions(-) [+] |
line diff
1.1 --- a/s4-blog.sh Tue Feb 06 11:22:51 2018 +0900 1.2 +++ b/s4-blog.sh Thu Feb 15 12:24:39 2018 +0859 1.3 @@ -786,6 +786,7 @@ 1.4 kc="ar.rowid = $rowid" 1.5 else 1.6 for k in `echo "$kwd" | sed "s/'/''/g"`; do # With wrap quotes 1.7 + ctime="" 1.8 if expr x"$k" : 'x@[><= ]*[1-9][][0-9]*-[][0-9:-]*$' >/dev/null >&2; then 1.9 # '@<2016-10-10' -> ctime < '2016-10-10' 1.10 # '@>=2016-10-10' -> ctime >= '2016-10-10' 1.11 @@ -800,15 +801,23 @@ 1.12 ##### kwdgrp=" GROUP BY a.blogid" ## Add this to lessen results 1.13 elif [ x"$k" = x"@today" -o x"$k" = x"@今日" ]; then 1.14 ctime=`date +%F` 1.15 - kc=$kc${kc:+" AND "}"ctime GLOB '${ctime}*'" 1.16 + elif n=`expr x"$k" : 'x@\([0-9]*\)days*'` >/dev/null >&2; then 1.17 + ctime=`query "SELECT datetime('now', 'localtime', '-$n days');"` 1.18 elif [ x"$k" = x"@week" ]; then 1.19 ctime=`query "SELECT datetime('now', 'localtime', '-7 days');"` 1.20 - kc=$kc${kc:+" AND "}"ctime > '${ctime}'" 1.21 + elif n=`expr x"$k" : 'x@\([0-9]*\)weeks*'` >/dev/null >&2; then 1.22 + n=$((n * 7)) 1.23 + ctime=`query "SELECT datetime('now', 'localtime', '-$n days');"` 1.24 elif [ x"$k" = x"@month" ]; then 1.25 ctime=`query "SELECT datetime('now', 'localtime', '-1 month');"` 1.26 - kc=$kc${kc:+" AND "}"ctime > '${ctime}'" 1.27 + elif n=`expr x"$k" : 'x@\([0-9]*\)months*'` >/dev/null >&2; then 1.28 + ctime=`query "SELECT datetime('now', 'localtime', '-$n month');"` 1.29 elif [ x"$k" = x"@year" ]; then 1.30 ctime=`query "SELECT datetime('now', 'localtime', '-1 year');"` 1.31 + elif n=`expr x"$k" : 'x@\([0-9]*\)years*'` >/dev/null >&2; then 1.32 + ctime=`query "SELECT datetime('now', 'localtime', '-$n year');"` 1.33 + fi 1.34 + if [ -n "$ctime" ]; then 1.35 kc=$kc${kc:+" AND "}"ctime > '${ctime}'" 1.36 else 1.37 kc=$kc${kc:+" AND "}"content LIKE '%$k%'"