Skip to content

SwedL/ydisk_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Main-logo

Aiogram Version Aiohttp Version

WEB - приложение предоставляет возможность взаимодействия с API Яндекс.Диска.
Просмотр и скачивание файлов с Яндекс.Диска по публичной ссылке.

Описание работы

После того как пользователь проходит процесс авторизации. Открывается страница работы с публичной ссылкой.
В поле вводим публичную ссылку, нажимаем кнопку Enter. В интерфейсе отобразится список файлов и папок публичной ссылки.
Кнопка "X" очищает поле ввода.

При успешном открытии публичной ссылки, появится окно вложенности папок, кнопка возврата на верхний уровень, а также кнопка скачивания выбранных файлов и кнопка скачивания всей папки одним архивом .zip.
Файлы, папки и архивы скачиваются в папку приложения "downloads".

Списки файлов кэшируются, для обеспечения быстродействия приложения.

ydisk1

ydisk2

ydisk3

ydisk4

ydisk5

Установка

Скачайте код:

git clone https://github.com/SwedL/ydisk_app.git

Перейдите в каталог проекта ydisk_app.

cd ydisk_app

Создайте файл .env с переменными окружения и положите туда такой код:

DEBUG=True
REDIS_URL=redis://redis:6379
SECRET_KEY='vu1c-=svhigsn81!1doknfa2zxchlq&^37vdyqgc165a8wswjr'

! Важно: SECRET_KEY замените на свой.

Создайте виртуальное окружение:

  • Windows: python -m venv venv
  • Linux: python3 -m venv venv

Активируйте его командой:

  • Windows: .\venv\Scripts\activate
  • Linux: source venv/bin/activate

Перейдите в каталог приложения ydisk.

cd ydisk

Установите зависимости в виртуальное окружение:

pip install -r requirements.txt

Для обеспечения выполнения фоновых асинхронных задач, в качестве брокера сообщений, необходимо установить и запустить Redis.
https://redis.io/docs/install/install-redis/

Создайте необходимые таблицы базы данных командой:

python manage.py migrate

Создайте модель суперпользователя командой:

python manage.py createsuperuser

Запустите worker Celery:

  • Windows: celery -A ydisk worker -P eventlet --loglevel=info
  • Linux: celery -A ydisk worker

Откройте новое окно терминала, снова активируйте виртуальное окружение командой:

  • Windows: .\venv\Scripts\activate
  • Linux: source venv/bin/activate

Перейдите в каталог приложения ydisk.

cd ydisk

Запустите сервер:

python manage.py runserver

Сервер работает на адресе http://127.0.0.1:8000/

Как запустить приложение в Docker.

Скачайте код:

git clone https://github.com/SwedL/ydisk_app.git

Перейдите в каталог проекта ydisk_app.

cd ydisk_app

Создайте файл .env с переменными окружения и положите туда такой код:

DEBUG=True
REDIS_URL=redis://redis:6379
SECRET_KEY='vu1c-=svhigsn81!1doknfa2zxchlq&^37vdyqgc165a8wswjr'

! Важно: SECRET_KEY замените на свой.

Выполните сборку образа:

docker-compose build

Запустите контейнер:

docker-compose up -d

Создайте суперпользователя:

docker exec -it ydisk python manage.py createsuperuser

Сервер работает на адресе http://127.0.0.1:8000/

Тестирование

Проект покрыт тестами моделей, форм, представлений и url.
Тесты запускаются командой:

python manage.py test

В docker:

docker exec -it ydisk python manage.py test

Автор проекта

  • Осминин Алексей - SwedL

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published