123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- function info()
- {
- echo "*II* $@"
- }
- function error()
- {
- echo "*EE* $@"
- exit 1
- }
- function cleanup()
- {
- [[ -n "${tempfile:-}" ]] && if [ -r ${tempfile} ]
- then
- rm -f ${tempfile}
- fi
- }
- trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM
- function has_config()
- {
-
- (( $# )) || return 1
-
- [[ -z "${config:-}" ]] && return 1
- local __c
- local __m
-
-
- if [ "$1" == "any" ]
- then
- shift
- for __c in "$@"
- do
- for __m in $config
- do
- [[ "$__m" =~ "${__c%:*}" ]] && [[ "$__m" =~ "${__c#*:}" ]] && return 0
- done
- done
- return 1
- fi
-
-
- [[ "$1" == "all" ]] && shift
- local __f
- for __c in "$@"
- do
- __f=0
- for __m in $config
- do
- [[ "$__m" =~ "${__c%:*}" ]] && [[ "$__m" =~ "${__c#*:}" ]] && __f=1
- done
- (( __f )) || return 1
- done
- return 0
- }
- function leap_days()
- {
- local ld=0
- local frstYYYY=$(date -ud "$1" +%Y)
- local lastYYYY=$(date -ud "$2" +%Y)
- set +e
-
- $(date -ud "${frstYYYY}-02-29" > /dev/null 2>&1) \
- && (( $(date -ud "$1" +%s) < $(date -ud "${frstYYYY}-03-01" +%s) )) \
- && (( $(date -ud "$2" +%s) > $(date -ud "${lastYYYY}-02-28" +%s) )) \
- && (( ld++ ))
-
- for (( y=(( ${frstYYYY}+1 )); y<=(( ${lastYYYY}-1 )); y++ ))
- do
- $(date -ud "$y-02-29" > /dev/null 2>&1) && (( ld++ ))
- done
-
-
- (( $lastYYYY > $frstYYYY )) \
- && $(date -ud "${lastYYYY}-02-29" > /dev/null 2>&1) \
- && (( $(date -ud "$1" +%s) < $(date -ud "${frstYYYY}-03-01" +%s) )) \
- && (( $(date -ud "$2" +%s) > $(date -ud "${lastYYYY}-02-28" +%s) )) \
- && (( ld++ ))
- set -e
- echo "$ld"
- }
|