Skip to content

Commit eb876b9

Browse files
committed
GTFS Archive: Fix error when no ZIP files are present
1 parent a97fa31 commit eb876b9

File tree

1 file changed

+32
-29
lines changed

1 file changed

+32
-29
lines changed

shared-opt-dir/agency-parser/archive.sh

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -81,35 +81,38 @@ mkdir -p "$ARCHIVE_DIR";
8181
YESTERDAY=$(date -d "yesterday" +%Y%m%d); # service can start yesterday and finish today
8282
echo "- yesterday: $YESTERDAY";
8383

84-
for ZIP_FILE in $(ls -a ${ARCHIVE_DIR}/*.zip) ; do
85-
echo "--------------------"
86-
echo "- ZIP file: $ZIP_FILE";
87-
ZIP_FILE_BASENAME=$(basename "$ZIP_FILE");
88-
ZIP_FILE_BASENAME_NO_EXT="${ZIP_FILE_BASENAME%.*}";
89-
ZIP_FILE_BASENAME_NO_EXT_PARTS=(${ZIP_FILE_BASENAME_NO_EXT//-/ });
90-
ZIP_FILE_START_DATE=${ZIP_FILE_BASENAME_NO_EXT_PARTS[0]};
91-
ZIP_FILE_END_DATE=${ZIP_FILE_BASENAME_NO_EXT_PARTS[1]};
92-
echo "- ZIP start date: $ZIP_FILE_START_DATE";
93-
if [[ "$ZIP_FILE_START_DATE" -lt "$YESTERDAY" && "$ZIP_FILE_END_DATE" -ge "$YESTERDAY" ]]; then
94-
ZIP_FILE_START_DATE=$YESTERDAY;
95-
echo "- ZIP start date (yesterday): $ZIP_FILE_START_DATE";
96-
fi
97-
echo "- ZIP end date: $ZIP_FILE_END_DATE";
98-
if [[ "$ZIP_FILE_END_DATE" -lt "$YESTERDAY" && "$ZIP_FILE_END_DATE" -le "$START_DATE" ]]; then
99-
echo "- ZIP file is entirely in the past and older than new ZIP > REMOVE";
100-
rm "$ZIP_FILE";
101-
checkResult $?;
102-
elif [[ "$ZIP_FILE_START_DATE" -ge "$START_DATE" && "$ZIP_FILE_END_DATE" -le "$END_DATE" ]]; then
103-
echo "- ZIP file is entirely inside the new ZIP > REMOVE";
104-
rm "$ZIP_FILE";
105-
checkResult $?;
106-
elif [[ "$ZIP_FILE_START_DATE" -gt "$END_DATE" && "$ZIP_FILE_END_DATE" -gt "$YESTERDAY" ]]; then
107-
echo "- ZIP file is entirely in the future and newer than new ZIP > KEEP";
108-
else
109-
echo "TODO handle this case";
110-
fi
111-
echo "--------------------"
112-
done
84+
ZIP_FILE_COUNT=$(find $ARCHIVE_DIR -name "*.zip" -type f | wc -l);
85+
if [[ "$ZIP_FILE_COUNT" -gt 0 ]]; then
86+
for ZIP_FILE in $(ls -a ${ARCHIVE_DIR}/*.zip) ; do
87+
echo "--------------------"
88+
echo "- ZIP file: $ZIP_FILE";
89+
ZIP_FILE_BASENAME=$(basename "$ZIP_FILE");
90+
ZIP_FILE_BASENAME_NO_EXT="${ZIP_FILE_BASENAME%.*}";
91+
ZIP_FILE_BASENAME_NO_EXT_PARTS=(${ZIP_FILE_BASENAME_NO_EXT//-/ });
92+
ZIP_FILE_START_DATE=${ZIP_FILE_BASENAME_NO_EXT_PARTS[0]};
93+
ZIP_FILE_END_DATE=${ZIP_FILE_BASENAME_NO_EXT_PARTS[1]};
94+
echo "- ZIP start date: $ZIP_FILE_START_DATE";
95+
if [[ "$ZIP_FILE_START_DATE" -lt "$YESTERDAY" && "$ZIP_FILE_END_DATE" -ge "$YESTERDAY" ]]; then
96+
ZIP_FILE_START_DATE=$YESTERDAY;
97+
echo "- ZIP start date (yesterday): $ZIP_FILE_START_DATE";
98+
fi
99+
echo "- ZIP end date: $ZIP_FILE_END_DATE";
100+
if [[ "$ZIP_FILE_END_DATE" -lt "$YESTERDAY" && "$ZIP_FILE_END_DATE" -le "$START_DATE" ]]; then
101+
echo "- ZIP file is entirely in the past and older than new ZIP > REMOVE";
102+
rm "$ZIP_FILE";
103+
checkResult $?;
104+
elif [[ "$ZIP_FILE_START_DATE" -ge "$START_DATE" && "$ZIP_FILE_END_DATE" -le "$END_DATE" ]]; then
105+
echo "- ZIP file is entirely inside the new ZIP > REMOVE";
106+
rm "$ZIP_FILE";
107+
checkResult $?;
108+
elif [[ "$ZIP_FILE_START_DATE" -gt "$END_DATE" && "$ZIP_FILE_END_DATE" -gt "$YESTERDAY" ]]; then
109+
echo "- ZIP file is entirely in the future and newer than new ZIP > KEEP";
110+
else
111+
echo "TODO handle this case";
112+
fi
113+
echo "--------------------"
114+
done
115+
fi
113116

114117
ARCHIVE_FILE="${ARCHIVE_DIR}/${START_DATE}-${END_DATE}.zip";
115118
cp "$GTFS_FILE" "$ARCHIVE_FILE";

0 commit comments

Comments
 (0)