Skip to content

Pterygopalatinus/dcm2bids

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MRI Pipeline - Яндекс.Диск GUI

Приложение для работы с Яндекс.Диском через графический интерфейс в рамках MRI-пайплайна.

Возможности

  • 🔐 Безопасное хранение OAuth токенов в системном хранилище
  • 📁 Просмотр файлов и папок на Яндекс.Диске
  • 🧭 Навигация по структуре папок
  • 🔄 Автоматическое обновление списка файлов
  • 💾 Сохранение учетных данных между сессиями

Установка

  1. Клонируйте репозиторий:
git clone <repository-url>
cd dcm2bids
  1. Создайте виртуальное окружение:
python -m venv venv
  1. Активируйте виртуальное окружение:
# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Установка завершена!

Получение OAuth токена Яндекс.Диска

  1. Перейдите на Яндекс.OAuth
  2. Создайте новое приложение
  3. В настройках приложения добавьте права:
    • cloud_api:disk.read - чтение файлов
    • cloud_api:disk.write - запись файлов (если нужно)
  4. Скопируйте Client ID
  5. Получите токен по ссылке:
    https://oauth.yandex.ru/authorize?response_type=token&client_id=YOUR_CLIENT_ID
    

Настройка токена

Есть два способа указать токен:

Способ 1: Файл .env (рекомендуется)

  1. Создайте файл .env в корне проекта
  2. Добавьте строку:
    YANDEX_DISK_TOKEN=ваш_токен_здесь
    
  3. Приложение автоматически загрузит токен при запуске

Способ 2: Через интерфейс

  1. Запустите приложение
  2. Введите токен в поле "OAuth токен"
  3. Нажмите "Сохранить токен" для сохранения между сессиями

Запуск

python main.py

Использование

  1. Подключение к Яндекс.Диску:

    • Введите OAuth токен в поле "OAuth токен"
    • Нажмите "Подключиться"
    • Для сохранения токена нажмите "Сохранить токен"
  2. Навигация:

    • Двойной клик по папке для входа в неё
    • Кнопки "← Назад" и "↑ Вверх" для навигации
    • Поле "Путь" для прямого перехода
  3. Просмотр файлов:

    • Список файлов отображается в таблице
    • Показывается имя, тип, размер и дата изменения
    • Кнопка "Обновить" для обновления списка

Безопасность

  • OAuth токены шифруются перед сохранением
  • Используется системное хранилище ключей (keyring)
  • Учетные данные не сохраняются в репозитории
  • Все конфиденциальные файлы исключены из .gitignore

Структура проекта

dcm2bids/
├── config/
│   ├── __init__.py
│   └── credentials_manager.py    # Менеджер учетных данных
├── gui/
│   ├── __init__.py
│   └── main_window.py           # Главное окно приложения
├── yandex_disk/
│   ├── __init__.py
│   └── api_client.py            # Клиент API Яндекс.Диска
├── main.py                      # Точка входа
├── requirements.txt             # Зависимости
├── .gitignore                   # Исключения Git
└── README.md                    # Документация

Разработка

Для разработки дополнительного функционала:

  1. Добавьте новые модули в соответствующие пакеты
  2. Обновите requirements.txt при добавлении зависимостей
  3. Следуйте принципам безопасного хранения данных
  4. Добавьте обработку ошибок для новых функций

Следующие шаги

  • Загрузка файлов на Яндекс.Диск
  • Скачивание файлов с Яндекс.Диска
  • Контекстное меню для файлов
  • Поиск файлов
  • Интеграция с MRI-пайплайном

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages