From fa2c33693dc76e3f39a505cb23e5234a14923273 Mon Sep 17 00:00:00 2001 From: danipatko Date: Sun, 8 Feb 2026 14:13:30 +0100 Subject: [PATCH] add convenience script --- .gitea/workflows/deploy-server.yaml | 38 ++--------------------- process.sh | 47 +++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 36 deletions(-) create mode 100644 process.sh diff --git a/.gitea/workflows/deploy-server.yaml b/.gitea/workflows/deploy-server.yaml index 10e4a60..3261705 100644 --- a/.gitea/workflows/deploy-server.yaml +++ b/.gitea/workflows/deploy-server.yaml @@ -56,42 +56,8 @@ jobs: - name: Process Archives run: | - # Define Paths - SOURCE_ROOT="./cars" - # This is where the server expects the files - DEST_ROOT="./server-data/content/cars" - mkdir -p "$DEST_ROOT" - - echo "Searching for archives in $SOURCE_ROOT..." - - # Find all archives recursively (zip, 7z, rar) - find "$SOURCE_ROOT" -type f \( -name "*.zip" -o -name "*.7z" -o -name "*.rar" \) | while read archive; do - - # Get the filename without extension (e.g., "cars/groupA/my_car.zip" -> "my_car") - filename=$(basename -- "$archive") - car_name="${filename%.*}" - - echo "--------------------------------------" - echo "Processing: $car_name" - - # Create a temp directory for extraction - temp_dir=$(mktemp -d) - - # Extract contents - 7z x "$archive" -o"$temp_dir" -y > /dev/null - - # FILTERING LOGIC - find "$temp_dir" -type f -not -name "skins/*/livery.png" \ - -not -name "skins/*/preview.jpeg" \ - -not -name "skins/*/ui_skin.json" \ - -not -name "ui/badge.png" \ - -not -name "ui/ui_car.json" \ - -not -name "data.acd" \ - -not -name "physics/standard/data.acd" \ - -not -name "physics/csp/data.acd" \ - -delete - - tree "$temp_dir" + chmod +x process.sh + ./process.sh # - name: Verify Installation # run: | diff --git a/process.sh b/process.sh new file mode 100644 index 0000000..abba162 --- /dev/null +++ b/process.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +set -euox pipefail + +# Define Paths +SOURCE_ROOT="./cars" +DEST_ROOT="./server-data/content/cars" +mkdir -p "$DEST_ROOT" + +echo "Searching for archives in $SOURCE_ROOT..." + +tree "$SOURCE_ROOT" # DEBUG + +# Find all archives recursively (zip, 7z, rar) +find "$SOURCE_ROOT" -type f \( -name "*.zip" -o -name "*.7z" -o -name "*.rar" \) | while read archive; do + + # Get the filename without extension + filename=$(basename -- "$archive") + car_name="${filename%.*}" + + echo "--------------------------------------" + echo "Processing: $car_name" + + # Create a temp directory for extraction + temp_dir=$(mktemp -d) + + # Extract contents + 7z x "$archive" -o"$temp_dir" -y > /dev/null + + echo "Extracted to: $temp_dir" + tree "$temp_dir" # DEBUG + + # FILTERING LOGIC + find "$temp_dir" -type f -not -name "skins/*/livery.png" \ + -not -name "skins/*/preview.jpeg" \ + -not -name "skins/*/ui_skin.json" \ + -not -name "ui/badge.png" \ + -not -name "ui/ui_car.json" \ + -not -name "data.acd" \ + -not -name "physics/standard/data.acd" \ + -not -name "physics/csp/data.acd" \ + -delete + + echo "After filtering:" + tree "$temp_dir" + +done \ No newline at end of file