| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/bin/bash
- # Execute `main.py` to get the data, output it to a temp file, then merge the
- # results into an existing `usage.tsv`, removing duplicate rows.
- #
- # If `usage.tsv` doesn't exist, it will be created.
- set -e
- NEW=new.tsv
- USAGE=usage.tsv
- TEMP=temp.tsv
- echo "Activating venv"
- source ./env/bin/activate
- echo "Fetching new records into ${NEW}"
- python3 main.py > ${NEW}
- echo "Retrieved $(wc -l ${NEW}) records"
- if [[ ! -f ${USAGE} ]]; then
- echo "${USAGE} does not exist. Renaming $NEW to $USAGE."
- mv ${NEW} ${USAGE}
- else
- echo "${USAGE} exists, with $(cat ${USAGE} | wc -l) lines."
- echo "Sorting & adding new records from ${NEW}."
- header="$(head -n1 ${USAGE})"
- echo "${header}" > ${TEMP}
- cat <(tail -n +2 ${USAGE}) <(echo) <(tail -n +2 ${NEW}) \
- | sort | uniq \
- >> ${TEMP}
-
- echo "$(wc -l ${TEMP})"
- echo "Replacing ${USAGE} with contents of ${TEMP}"
- rm ${USAGE}
- mv ${TEMP} ${USAGE}
- fi
- rm ${NEW}
|