Fix directory errors.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
repos="/tmp/repos-$(cat /dev/urandom | base64 | tr -d '=+/' | head -c 8)"
|
repos="/tmp/repos-$(cat /dev/urandom | base64 | tr -d '=+/' | head -c 8)"
|
||||||
mkdir -p "$repos"
|
mkdir -p "$repos"
|
||||||
|
tmp_portfolio="/tmp/portfolio-$(cat /dev/urandom | base64 | tr -d '=+/' | head -c 8)"
|
||||||
function safely_remove_tmp_repos() {
|
function safely_remove_tmp_repos() {
|
||||||
if [ "$repos" ] && [ -d "$repos" ]; then
|
if [ "$repos" ] && [ -d "$repos" ]; then
|
||||||
if [ "$(find -name .git -type d | wc -l)" -eq 0 ]; then
|
if [ "$(find -name .git -type d | wc -l)" -eq 0 ]; then
|
||||||
@@ -10,10 +11,10 @@ function safely_remove_tmp_repos() {
|
|||||||
fi
|
fi
|
||||||
rm -rf "$repos"
|
rm -rf "$repos"
|
||||||
fi
|
fi
|
||||||
|
rm -r "$tmp_portfolio"
|
||||||
}
|
}
|
||||||
function cleanup() {
|
function cleanup() {
|
||||||
safely_remove_tmp_repos
|
safely_remove_tmp_repos
|
||||||
rm -rf tmp-portfolio
|
|
||||||
}
|
}
|
||||||
directory="$1"
|
directory="$1"
|
||||||
script_dir="$(dirname "$0")"
|
script_dir="$(dirname "$0")"
|
||||||
@@ -59,7 +60,7 @@ curl -s "$GIT_URL/api/v1/users/$GIT_USER/repos" \
|
|||||||
.licenses
|
.licenses
|
||||||
]'
|
]'
|
||||||
}
|
}
|
||||||
mkdir -p tmp-portfolio
|
mkdir -p "$tmp_portfolio"
|
||||||
portfolio_index=""
|
portfolio_index=""
|
||||||
while read project; do
|
while read project; do
|
||||||
i=0
|
i=0
|
||||||
@@ -143,7 +144,7 @@ EOF
|
|||||||
)"
|
)"
|
||||||
(cd "$repos/$name" &&
|
(cd "$repos/$name" &&
|
||||||
quarto render "$name.qmd" -o "$name.html" >/dev/null 2>/dev/null &&
|
quarto render "$name.qmd" -o "$name.html" >/dev/null 2>/dev/null &&
|
||||||
mv "$name.html" "../../tmp-portfolio/$name.html"
|
mv "$name.html" "$tmp_portfolio/$name.html"
|
||||||
)
|
)
|
||||||
while read -r language; do
|
while read -r language; do
|
||||||
portfolio_index+="<li class='language'>$language</li>"
|
portfolio_index+="<li class='language'>$language</li>"
|
||||||
@@ -208,7 +209,7 @@ li.language {
|
|||||||
</div>
|
</div>
|
||||||
EOF
|
EOF
|
||||||
)"
|
)"
|
||||||
echo "$portfolio_index" > tmp-portfolio/index.html
|
echo "$portfolio_index" > "$tmp_portfolio/index.html"
|
||||||
if [ -d "$directory" ]; then
|
if [ -d "$directory" ]; then
|
||||||
if [ "$(du -sb "$directory" | cut -f1)" -gt $((1024 * 1024 * 400)) ]; then
|
if [ "$(du -sb "$directory" | cut -f1)" -gt $((1024 * 1024 * 400)) ]; then
|
||||||
echo "Error: Directory '$directory' contains more than 400MB of data. Exiting to prevent data loss."
|
echo "Error: Directory '$directory' contains more than 400MB of data. Exiting to prevent data loss."
|
||||||
@@ -217,6 +218,5 @@ if [ -d "$directory" ]; then
|
|||||||
else
|
else
|
||||||
mkdir -p "$directory"
|
mkdir -p "$directory"
|
||||||
fi
|
fi
|
||||||
rsync -a "tmp-portfolio/" "$directory/"
|
rsync -a "$tmp_portfolio/" "$directory/"
|
||||||
safely_remove_tmp_repos
|
safely_remove_tmp_repos
|
||||||
rm -r tmp-portfolio
|
|
||||||
|
|||||||
Reference in New Issue
Block a user