#!/bin/bash
################################################################################
# Copyright 2025 ModalAI Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
#    this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
#    this list of conditions and the following disclaimer in the documentation
#    and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# 4. The Software is used solely in conjunction with devices provided by
#    ModalAI Inc.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
################################################################################

# Function to display help information
show_help() {
    echo "Usage: voxl-clear-logs [-l] [-h]"
    echo
    echo "Options:"
    echo "  -l   Also delete all voxl-logger log files in /data/voxl-logger."
    echo "  -h   Display this help message and exit."
    echo
    echo "Description:"
    echo "This script deletes all subdirectories in /data/px4/log by default."
    echo "If the -l flag is provided, it also deletes all subdirectories in /data/voxl-logger."
    echo "The script lists each directory it deletes."
}

# Function to delete directories and list them
delete_dirs() {
    local dir="$1"
    if [ -d "$dir" ]; then
        for subdir in "$dir"/*; do
            if [ -d "$subdir" ]; then
                echo "Deleting: $subdir"
                rm -rf "$subdir"
            fi
        done
    else
        echo "Directory $dir does not exist."
    fi
}

# Parse options
delete_voxl_logger=false
while getopts "lh" opt; do
    case $opt in
        l)
            delete_voxl_logger=true
            ;;
        h)
            show_help
            exit 0
            ;;
        *)
            show_help
            exit 1
            ;;
    esac
done

# Delete subdirectories in /data/px4/log
echo "Clearing /data/px4/log..."
delete_dirs "/data/px4/log"

# Optionally delete subdirectories in /data/voxl-logger
if $delete_voxl_logger; then
    echo "Clearing /data/voxl-logger..."
    delete_dirs "/data/voxl-logger"
fi

echo "Done."