Улучшение навигации и директорий

This commit is contained in:
sergey
2025-02-11 02:56:46 +07:00
parent 77b87088dc
commit 69b51ab5e8
7 changed files with 3 additions and 3 deletions

1386
ProjectsFile/poetry.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
# project_count_line.py
# Файл для подсчета количества строк и файлов
import os
# Настройка экспорта модулей
__all__ = ("count_lines_in_python_files",)
type_messages = "count_lines_project"
# Функция подсчета строк и кода python3
def count_lines_in_python_files(directory):
total_lines = 0
total_files = 0
# Проходим по всем директориям и файлам в заданной директории
for root, dirs, files in os.walk(directory):
# Исключаем определенные директории
if any(excluded in root for excluded in ['.venv', '.env', '.git', '.idea', '__pycache__']):
continue
for file in files:
if file.endswith('.py'): # Проверяем, что файл имеет расширение .py
total_files += 1
file_path = os.path.join(root, file)
try:
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
total_lines += len(lines)
except UnicodeDecodeError:
# Если файл не может быть прочитан в utf-8, логируем предупреждение и продолжаем
print(f"Предупреждение: невозможно прочитать файл {file_path} из-за ошибки кодировки.")
except Exception as e:
# Логируем любую другую ошибку и продолжаем
print(f"Ошибка при обработке файла {file_path}: {e}")
return total_lines, total_files
# Задайте путь к вашей директории
directory_path = r'../'
lines_count, files_count = count_lines_in_python_files(directory_path)
print(f"Общее количество строк в файлах .py: {lines_count}")
print(f"Общее количество файлов .py: {files_count}")

View File

@@ -0,0 +1,36 @@
[tool.poetry]
name = "primopearlbot"
version = "2.2"
description = ""
authors = ["Whyverum <sergeyzavalin@outlook.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.10"
loguru = "^0.7.3"
requests = "^2.32.3"
apscheduler = "^3.11.0"
aiogram = "^3.15.0"
aiomysql = "^0.2.0"
async-timeout = "^5.0.1"
sympy = "^1.13.3"
yarl = "^1.18.3"
pytz = "^2024.2"
termcolor = "^2.5.0"
colorama = "^0.4.6"
art = "^6.4"
python-dotenv = "^1.0.1"
pydantic-settings = "^2.7.0"
python-decouple = "^3.8"
charset-normalizer = "^3.4.0"
frozenlist = "^1.5.0"
customtkinter = "^5.2.2"
pillow = "^11.0.0"
certifi = "^2024.12.14"
idna = "^3.10"
email-validator = "^2.2.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

158
ProjectsFile/start.bat Normal file
View File

@@ -0,0 +1,158 @@
@echo off
REM start.bat
REM Этот файл нужно запускать перед стартом проекта.
REM Он создает локальное окружение, скачивает все зависимости.
REM Чтобы запустить файл, используйте: start start или ./start.
REM Установить кодировку UTF-8 и заголовок для консоли.
chcp 65001 > nul
title Запуск Бота-aiogram
cls
REM Проверка установки PyPy.
echo Проверка наличия PyPy...
pypy --version > nul 2>&1 || (
color C
echo [ОШИБКА]: PyPy не установлен. Установите PyPy и повторите попытку.
echo Ссылка для установки: https://www.pypy.org/download.html
title Проект - PyPy не установлен!
pause
exit /b
)
echo [OK]: PyPy установлен.
echo.
REM Проверка установки Git.
echo Проверка наличия Git...
git --version > nul 2>&1 || (
color C
echo [ОШИБКА]: Git не установлен. Установите Git и повторите попытку.
echo Ссылка для установки: https://git-scm.com/downloads
title Проект - Git не установлен!
pause
exit /b
)
echo [OK]: Git установлен.
echo.
REM Проверка и инициализация Git репозитория.
if not exist .git (
echo Создание Git репозитория...
git init > nul
git remote add origin https://github.com/Whyverum/PrimoPearlBot > nul
echo [OK]: Git репозиторий создан и настроен.
) else (
echo [OK]: Git репозиторий уже настроен.
)
echo.
REM Создание виртуального окружения, если его еще нет.
if not exist .venv (
echo Создание виртуального окружения...
pypy -m venv .venv > nul
if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось создать виртуальное окружение.
pause
exit /b
)
echo [OK]: Виртуальное окружение создано.
) else (
echo [OK]: Виртуальное окружение уже существует.
)
echo.
REM Создание файла .env с вводом данных из консоли в папке .venv.
if not exist .venv\.env (
echo Создаётся файл .env в папке .venv...
set /p main_bot_token=Введите токен бота (main_bot_token):
set /p APIKey=Введите ключ API (APIKey):
set /p WebAPIKey=Введите ключ Web API (WebAPIKey):
set /p important_id=Введите важный ID (important_id):
set /p secret=Введите секретный ключ (secret):
REM Проверяем пустые значения.
if "%main_bot_token%"=="" (
echo [ОШИБКА]: Токен бота не может быть пустым.
pause
exit /b
)
if "%APIKey%"=="" (
echo [ОШИБКА]: Ключ API не может быть пустым.
pause
exit /b
)
if "%WebAPIKey%"=="" (
echo [ОШИБКА]: Ключ Web API не может быть пустым.
pause
exit /b
)
if "%important_id%"=="" (
echo [ОШИБКА]: Важный ID не может быть пустым.
pause
exit /b
)
if "%secret%"=="" (
echo [ОШИБКА]: Секретный ключ не может быть пустым.
pause
exit /b
)
REM Создание файла .env.
(
echo main_bot_token=%main_bot_token%
echo APIKey=%APIKey%
echo WebAPIKey=%WebAPIKey%
echo important_id=%important_id%
echo secret=%secret%
) > .venv\.env
echo [OK]: Файл .env успешно создан в папке .venv!
) else (
echo [OK]: Файл .env уже существует в папке .venv.
)
echo.
REM Активация виртуального окружения.
echo Активация виртуального окружения...
call .venv\Scripts\activate > nul
if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось активировать виртуальное окружение.
pause
exit /b
)
echo [OK]: Виртуальное окружение активировано.
echo.
REM Проверка и установка Poetry.
echo Проверка наличия Poetry...
poetry --version > nul 2>&1 || (
echo Установка Poetry...
pip install poetry > nul
if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось установить Poetry.
pause
exit /b
)
echo [OK]: Poetry успешно установлен.
)
echo [OK]: Poetry установлен.
echo.
REM Установка зависимостей.
echo Установка зависимостей проекта...
poetry install > nul
if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось установить зависимости.
pause
exit /b
)
echo [OK]: Зависимости установлены.
echo.
REM Очистка консоли перед запуском.
cls
echo Все готово! Настройте конфигурацию или запустите main.py.
pause