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%'"