Files
2026-09-20 11:45:58 +00:00

55 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Собирает весь backend в один .md файл
PROJECT_DIR="/root/filwordspl/backend"
OUTPUT="/root/FILWORDS_BACKEND_$(date +%Y%m%d_%H%M).md"
{
echo "# 🐍 Filwords PL — Backend"
echo ""
echo "**Дата:** $(date)"
echo "**Путь:** $PROJECT_DIR"
echo ""
# Все .py файлы (кроме venv и __pycache__)
for f in $(find "$PROJECT_DIR" -type f -name "*.py" -not -path "*/venv/*" -not -path "*/__pycache__/*" | sort); do
REL_PATH="${f#$PROJECT_DIR/}"
echo "### \`$REL_PATH\`"
echo '```python'
cat "$f"
echo '```'
echo ""
done
# Конфиги
for f in "$PROJECT_DIR/requirements.txt" "$PROJECT_DIR/pytest.ini" "$PROJECT_DIR/.gitignore"; do
if [ -f "$f" ]; then
REL_PATH="${f#$PROJECT_DIR/}"
echo "### \`$REL_PATH\`"
echo '```'
cat "$f"
echo '```'
echo ""
fi
done
# Тесты
if [ -d "$PROJECT_DIR/tests" ]; then
for f in $(find "$PROJECT_DIR/tests" -type f -name "*.py" | sort); do
REL_PATH="${f#$PROJECT_DIR/}"
echo "### \`$REL_PATH\`"
echo '```python'
cat "$f"
echo '```'
echo ""
done
fi
} > "$OUTPUT"
echo "🔍 Проверка секретов (должно быть 0):"
grep -c -E "(sk-[a-zA-Z0-9]{20,}|postgresql://[^ ]*:[^ ]*@|BOT_TOKEN\s*=\s*[\"'][0-9]|password\s*=\s*[\"'][^\"']{4,})" "$OUTPUT" || echo "0"
echo "✅ Готово: $OUTPUT"
echo "📊 Размер: $(du -h "$OUTPUT" | cut -f1)"
echo "📏 Строк: $(wc -l < "$OUTPUT")"