Implement downloading particular month.
This commit is contained in:
parent
41b218613a
commit
9ca16fe6c5
1 changed files with 77 additions and 8 deletions
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# fetch_fio.sh
|
# fetch_fio_fine.sh
|
||||||
#
|
#
|
||||||
# Fio API account statements fetcher.
|
# Fio API fine-grained account statements fetcher.
|
||||||
#
|
#
|
||||||
# ISC License
|
# ISC License
|
||||||
#
|
#
|
||||||
|
@ -148,16 +148,85 @@ download_file() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Downloads single year
|
# Leap year?
|
||||||
|
leap_year() {
|
||||||
|
YEAR="$1"
|
||||||
|
ym4=`expr "$YEAR" % 4`
|
||||||
|
ym100=`expr "$YEAR" % 100`
|
||||||
|
ym400=`expr "$YEAR" % 400`
|
||||||
|
if [ $ym4 = 0 ] ; then
|
||||||
|
# Maybe
|
||||||
|
if ! [ $ym100 = 0 ] ; then
|
||||||
|
# Leap
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
# Maybe
|
||||||
|
if [ $ym400 = 0 ] ; then
|
||||||
|
# Leap
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
# Not leap
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Not leap
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Returns the last day of given month in Fio format
|
||||||
|
# $1 - year
|
||||||
|
# $2 - month
|
||||||
|
# $3 - if non-empty, return ISO
|
||||||
|
end_of_month() {
|
||||||
|
YEAR="$1"
|
||||||
|
MONTH="$2"
|
||||||
|
case $MONTH in
|
||||||
|
01) DAY=31 ;;
|
||||||
|
02)
|
||||||
|
DAY=$(
|
||||||
|
if leap_year $YEAR ; then
|
||||||
|
echo 29
|
||||||
|
else
|
||||||
|
echo 28
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
03) DAY=31 ;;
|
||||||
|
04) DAY=30 ;;
|
||||||
|
05) DAY=31 ;;
|
||||||
|
06) DAY=30 ;;
|
||||||
|
07) DAY=31 ;;
|
||||||
|
08) DAY=31 ;;
|
||||||
|
09) DAY=30 ;;
|
||||||
|
10) DAY=31 ;;
|
||||||
|
11) DAY=30 ;;
|
||||||
|
12) DAY=31 ;;
|
||||||
|
esac
|
||||||
|
if [ -z "$3" ] ; then
|
||||||
|
echo "$DAY.$MONTH.$YEAR"
|
||||||
|
else
|
||||||
|
echo "$YEAR-$MONTH-$DAY"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Downloads single year month
|
||||||
# $1 - apikey
|
# $1 - apikey
|
||||||
# $2 - year
|
# $2 - year
|
||||||
# $3 - destination file name
|
# $3 - month - must be in MM format already
|
||||||
download_year() {
|
# $4 - destination file name
|
||||||
|
download_year_month() {
|
||||||
apikey="$1"
|
apikey="$1"
|
||||||
year="$2"
|
year="$2"
|
||||||
fname="$3"
|
month="$3"
|
||||||
log "Downloading ${APIURI}/periods/.../$year-01-01/$year-12-31/transactions.csv to $fname"
|
fname="$4"
|
||||||
download_file "${APIURI}/periods/$apikey/$year-01-01/$year-12-31/transactions.csv" "$fname"
|
STARTDATE="$year-$month-01"
|
||||||
|
ENDDATE=`end_of_month $year $month 1`
|
||||||
|
log "Downloading ${APIURI}/periods/.../$STARTDATE/$ENDDATE/transactions.csv to $fname"
|
||||||
|
download_file "${APIURI}/periods/$apikey/$STARTDATE/$ENDDATE/transactions.csv" "$fname"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue