Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Плагины/индикаторы для индикации статуса синхронизации с Yandex-disk  (Прочитано 936791 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KsenZ

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
А планируется ли версия на PyQt? Или в планах отказаться от python в пользу Go?
Может уже где то говорилось, и просто я не осилил 100+ страниц.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
KsenZ, Про версии индикатора на go (yd-go - GTK+ и yd-qgo - Qt) в этой теме от силы 3 страницы.
Отказываться от поддержки индикатора на python (yandex-disk-indicator) я не намерен. Он уже у тучи людей стоит и работает. Другое дело - там очень мало чего ещё можно дорабатывать. Т.е. остались такие фичи, которые от силы 1-2% пользователей нужны будут... один раз.

Go версия появилась как эксперимент. Просто заинтересовался go и долго не думая решил для закрепления знаний сделать что-то что достаточно хорошо уже проработано алгоритмически.
Go версия ещё в зачаточном состоянии (ещё много всего надо сделать, что бы он дорос до питоновской версии). Но оба варианта (GTK и Qt) уже вполне рабочие.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн KsenZ

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
А на PyQt планируешь?

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Изначально GTK в Python версии получился потому, что в качестве основы разработки был взят именно GTK-шный индикатор.

В принципе сделать Qt-шный вариант python версии индикатора - не сложно. Можно будет подумать на эту тему...
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн KsenZ

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Я спрашиваю потому, что думал начать писать индикатор на PyQt. Qt мне больше нравится, да и опыта набираться нужно.
Если ты собираешься, то я тогда не полезу "поперёк батьки"  ;D

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
KsenZ, А давай объединим усилия ;)

Я могу тебе предоставить все необходимые консультации по коду yandex-disk-indicator (канал взаимодействия можем обсудить отдельно) далее ты делаешь клон оригинальной репы с yandex-disk-indicator и впиливаешь в него Qt интерфейс.
Клон надо будет переименовать, например yandex-disk-qt или что-то наподобие.

Если в GUI сохранить все оригинальные сообщения, то тогда смело можно прикрутить в Qt версию все 4 перевода, что есть для yandex-disk-indicator.

После этого можем отдельно решить - как будет организовывать дистрибъюцию - ты свой PPA заведешь на Launchpad (с перекрестными ссылками между своим и моим PPA) или можно в мой влить.

Ну или можно еще другую схему придумать... это обсуждаемо.

Я это предлагаю не из за того, что мне лень Qt-версию yandex-disk-indicator делать, а потому, что если у тебя есть желание, то его лучше реализовать. Да и если ты в потрохах yandex-disk-indicator будешь разбираться, то проект с многими сотнями (если не тысячами пользователей) будет более надежно обеспечен поддержкой.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн KsenZ

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Я обеими руками "За!".
На мой взгляд, тут есть два варианта:
  • Делаю локальный клон, создаю в нем бранч qt, а в этом бранче файл yandex-disk-indicator-qt.py. Ну и когда будет рабочая версия, залить этот файл в мастер ветку
  • Делаю форк. Дальше по той же схеме, бранч, файл и т.д. Затем делаю pull reqest, в твою ветку.
Собственно оба варианта похожи.
И вопрос дистрибьюции, в этом случае, решается правкой скриптов, для создания yd-tools и yd-tools-qt с разными "главными" файлами.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Давай 2.

Скрипты для сборки yd-tools-qt - тоже с тебя :) (ну самой собой я помогу если надо).

Отдельным этапом надо выделить из общего yandex-disk-indicator общую часть (все те потроха, что работают с конфиг-файлами и демоном) и отдельно делать две части завязанные на GUI (там собственно индикатор, его меню, окно About, окно показывающее вывод демона, сообщения и окно редактирования параметров).

Давай сначала я разделю. Я для этого заведу новую ветку (что бы мастер не ломать).
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн KsenZ

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Ну да, отдельно вытащить GUI независимые компоненты в отдельные классы, хорошая идея. А из GUI уже дергать необходимые методы.
Конечно это отдельным бранчем делать, и обкатывать там.

З.Ы. предлагаю связаться в ЛС, и определиться с мессенджером. Будет удобней общаться, да и на форуме меньше оффтопа будет.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
ок. давай в лс.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
После последних правок кода (всякого рода оптимизации и упрощения) повылезали некоторые ошибки. Причем вылезают по одной... Это моя старая проблема - недостатки в тестировании... никто так и не захотел вписаться в штатные тестеры :( а сам часто пропускаю казалось бы мелочи (типа там ничего сломаться не должно было - можно и не тестировать), и мелочи эти как раз и "выстреливают".....

Так что на github и в Launchpad заливаю уже второй день обновления с правками багов. Вчера - 1.9.17, сегодня вечером залью на LP 1.9.18 (на гите релиз уже выпущен)....
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Zirrald

  • Любитель
  • *
  • Сообщений: 84
  • Manjaro KDE
    • Просмотр профиля
Sly_tom_cat, продолжая тему определения файлового менеджера, нагуглил подходящие для этого дела команды. Также объяснение, почему не рекомендуется использовать команды типа which.
На гитхабе, в форке, выбросил часть кода регистрирующий пакетные менеджеры и изменил вызовы с использованием command -v.
У себя проверил - работает.
Опыт позволяет нам ошибаться гораздо увереннее.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Zirrald, Да, там вроде как очень толково расписано, спасибо за ссылку.

Собственно я уже не помню кто этот код предложил... но суть была в том что бы проверить в пакетном менеджере что установлено а что нет.... Хотя... может я что-то свое горяче любимое мимо пакетного менеджера поставил. Так что проверять наличие команды - наверное более правильно...

Давай, тогда оформляй пуллреквест.
« Последнее редактирование: 03 Февраля 2018, 16:59:08 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Zirrald

  • Любитель
  • *
  • Сообщений: 84
  • Manjaro KDE
    • Просмотр профиля
Sly_tom_cat, проверил пулреквесты - я же этот код и предложил :2funny:

Ушел убивать свое порождение  :knuppel2:
Опыт позволяет нам ошибаться гораздо увереннее.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Ну, сам породил, сам и победил :)  :2funny:


Я тут сам порезал код изрядно... Просто раньше старался веде и сразу обработать всякие ошибки.

Но перед новым годом меня по сути вытолкали в отпуск (неотгуленнго много накопилось), и я дабы не зря время терять вписался и прослушал на курсере кус по разработке веб-сервисов на Go. Сначала прослушал и все задания сделал (в режиме бесплатного превью) еще до начала официального курса, а потом плюнул, заплатил и за один день все закоммитил и сертификат получил).

Собственно про веб-сервисы там не так много, но много про Go и его возможности. И вот когда я на Go сделал сначала обертку yandex-disk а потом и GUI, то я как-то грубоко проникся идеей, что все и вся обрабатывать не надо, кое-где есть смысл просто игнорировать ошибки, а в других местах лучше просто упасть и не мучаться.

Ну вот напитавшись новыми идеями, я и порезал кучу обработчиков ошибок и всяких изощрений в индикаторе..... вот правда это оптимизаторство до сих пор багами проклевывается ..... :-\ :D
« Последнее редактирование: 03 Февраля 2018, 19:44:11 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.03 секунд. Запросов: 25.