#!/bin/bash

# Instagram 文件检查和处理脚本
# 每周五下午5点自动执行

SOURCE_DIR="$HOME/Downloads/instagram"
DEST_DIR="$SOURCE_DIR/$(date +%Y-%m-%d)"
LOG_FILE="$SOURCE_DIR/process.log"

echo "$(date): 开始检查新文件" >> $LOG_FILE

# 检查源目录是否存在
if [ ! -d "$SOURCE_DIR" ]; then
    echo "$(date): 源目录不存在" >> $LOG_FILE
    exit 0
fi

# 获取今天及之前的文件（排除今天的子文件夹）
cd "$SOURCE_DIR"
today=$(date +%Y-%m-%d)
new_files=()

for file in *; do
    if [ -f "$file" ]; then
        # 检查文件是否是今天创建的
        file_date=$(stat -f "%Sm" -t "%Y-%m-%d" "$file" 2>/dev/null || stat -c "%y" "$file" | cut -d' ' -f1)
        if [ "$file_date" != "$today" ]; then
            new_files+=("$file")
        fi
    fi
done

# 如果没有新文件，退出
if [ ${#new_files[@]} -eq 0 ]; then
    echo "$(date): 没有新文件" >> $LOG_FILE
    exit 0
fi

echo "$(date): 发现 ${#new_files[@]} 个新文件: ${new_files[*]}" >> $LOG_FILE

# 创建日期文件夹
mkdir -p "$DEST_DIR"

# 移动文件到日期文件夹
for file in "${new_files[@]}"; do
    mv "$file" "$DEST_DIR/"
    echo "$(date): 移动 $file 到 $DEST_DIR" >> $LOG_FILE
done

# 检查是否有视频或图片需要合成
video_files=($DEST_DIR/*.mp4 $DEST_DIR/*.mov $DEST_DIR/*.avi)
image_files=($DEST_DIR/*.jpg $DEST_DIR/*.jpeg $DEST_DIR/*.png $DEST_DIR/*.gif)

if [ -f "${video_files[0]}" ]; then
    # 有视频，发送视频给用户确认
    echo "VIDEO:$DEST_DIR" >> $LOG_FILE
elif [ -f "${image_files[0]}" ]; then
    # 有图片，合成视频
    echo "IMAGES:${image_files[*]}" >> $LOG_FILE
fi

echo "$(date): 处理完成" >> $LOG_FILE
