blob: 02bec66a2a156484e5d983c41974dc7c9182f6cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/bash
CSV_FILE="tricks.csv"
VIDEO_DIR="videos"
DEMO_DIR="demos"
ARCHIVE_DIR="public/archives"
mkdir -p "$ARCHIVE_DIR"
declare -A montage_videos
declare -A montage_demos
while IFS=',' read -r name players train_videos ingame_videos demos montage; do
key="$(echo "$montage" | xargs)"
videos_raw=$(echo "$ingame_videos" | xargs)
demos_raw=$(echo "$demos" | xargs)
key="$(echo "$key" | sed 's/ /_/g')"
videos=""
IFS=';' read -ra video_items <<< "$videos_raw"
for item in "${video_items[@]}"; do
videos+="${VIDEO_DIR}/${item}.mp4 "
done
demos=""
IFS=';' read -ra demo_items <<< "$demos_raw"
for item in "${demo_items[@]}"; do
demos+="${DEMO_DIR}/${item} "
done
if [[ -z "$key" ]]; then
key="Unused"
fi
if [[ -n "${montage_videos[$key]}" ]]; then
montage_videos[$key]="${montage_videos[$key]} $videos"
else
montage_videos[$key]="$videos"
fi
if [[ -n "${montage_demos[$key]}" ]]; then
montage_demos[$key]="${montage_demos[$key]} $demos"
else
montage_demos[$key]="$demos"
fi
done < <(tail -n +2 "$CSV_FILE")
for montage in "${!montage_videos[@]}"; do
[[ -n "${montage_videos[$montage]}" ]] \
&& zip -r "${ARCHIVE_DIR}/${montage}_videos.zip" ${montage_videos[$montage]}
continue
done
for montage in "${!montage_demos[@]}"; do
[[ -n "${montage_demos[$montage]}" ]] \
&& zip -r "${ARCHIVE_DIR}/${montage}_demos.zip" ${montage_demos[$montage]}
done
|