initial commit (backend)
This commit is contained in:
Executable
+55
@@ -0,0 +1,55 @@
|
||||
#!/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")"
|
||||
Reference in New Issue
Block a user