Screencast.from.2024-09-15.01-39-42.webm
-
Create and activate a virtual enviroment
-
Install packages from
requirements.txt
-
Run
main.py
-
App will be available at the address provided in
website/config.py
To test an application, login to default user. Login - admin
, Password - 12345678
. Then, Paste to the search bar a link to publicly available yandex disk. It might be a full link - e.g,https://disk.yandex.ru/d/coIIrxEva7kPoQ
or just a public key - e.g, coIIrxEva7kPoQ
. Press search
button to get data from disk to website. By clicking on elemenets, you can navigate via folders (back and forth) and download files.
Create a web application using Flask or Django that interacts with the Yandex.Disk API.
The application should implement the following functionality:
-
Viewing files on Yandex.Disk using a public link (public_key): After successful authorization, the user should be able to see a list of all files and folders stored under the provided public link.
-
Downloading specific files: The user should be able to select files from the list and download them to their local computer via the web application's interface.
-
Use Flask or Django as the web framework.
-
Fetch the list of files from Yandex.Disk using the REST API.
-
Implement the ability to download selected files from Yandex.Disk to the local computer.
-
The application should have a simple web interface to display the list of files and provide buttons for downloading them.
-
You can use the
requests
/aiohttp
library or any other HTTP client library to work with the Yandex.Disk API. -
Document the code, including type annotations.
-
The code should be uploaded to GitHub or a similar service with a commit history.
-
Correct implementation of authorization and API interaction.
-
Usability and simplicity of the interface.
-
Readability and structure of the code.
-
The presence of instructions for launching and using the application.
-
Compliance with the technical and additional requirements of the task.
-
Implement file filtering by type (e.g., documents only or images only).
-
Allow downloading multiple files simultaneously.
-
Implement caching of the file list so that it doesn’t have to be fetched from the server each time.