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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

Оффлайн vktRus

  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
Каких-то лярдов и не стоит ожидать. Максимум за год — на тортик к Новому Году. А вот с карты сделать перевод на разные *мани и на PyPal — морока. Убедился лично.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Еще раз: за период с 2014-04-08 по 2018-11-07 в общей сложности донатов поступило на 1000р (двумя частями по 500р).
Не скажу что это не деньги, но и развивать тему донатов - я смысла не вижу.
Какая там морока в оплате через PayPal - я бы спросил, но не буду - ибо это офтоп жуткий.

И главное - я не отношусь к тому "миру" в котором все уверены, что карта сбербанка должна быть у каждого без исключений. И у меня нет ни карты не счета в этом банке.
Индикатор для 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
Тут случился значительный запил эмулятора CLI утилиты тындекса yandex-disk: https://github.com/slytomcat/yandex-disk-simulator

Чем был сподвигнут: CircleCI (который я прикручивал к части своих поделок на GO, включая го-шную обертку утилиты yandex-disk, для го-шных же версий индикатора под GTK и QT) перешел с виртуалок на контейнеры (что вполне в духе современных трендов в технологиях). И все бы ничего, но их годные образы для GOLANG построены на на основе debian.

Уж не знаю что там не так в образах, но команда создания токена (yandex-disk token) просто крашится в этих образах...

И можно было бы покопать, и наверняка решить эту проблему, но мне подумалось, а почему это мне обязательно делать интеграционные тесты обертки с использованием оригинальной утилиты да еще с подсовыванием туда (через переменные CircleCI) реальные имя и пароль для доступа к специальному тестовому акаунту на тындекс-диске?!

Подумал я и решил что ведь не так и трудно эмулировать работу утилиты, т.е. сделать аля mock-сервис, и тестировать либу на этом эмуляторе.

Чем хорош подход аля-mock:

1. всегда стабильные, предсказуемые реакции.
2. отсутствие необходимости в реальном аккаунте на тындекс.диске
3. возможность рулить реакциями эмулятора из кода тестов (по сути когда вы в тестах используете свой же эмулятор вы получаете замкнутый контур тестирования, когда тестирующий код и подконтрольный эмулятор работают по обоим сторонам тестируемой библиотеки/сервиса)

Чем плох такой подход:
1. довольно трудно полностью повторить все возможные реакции чужой утилиты (с закрытым кодом, т.е. по сути - черный ящик)
2. нужно внимательно отслеживать изменения в черном ящике что бы менять эмулятор в соответствии с изменениями в нем.

Первый недостаток достаточно не значителен т.к. обертка использует очень ограниченный набор команд утилиты и довольно грубо обрабатывает результаты, которые выдает утилита (выхлоп в stdout/stderr и exit code). Так что эмулировать можно не слишком детально и не все.

А вот со второй проблемой бороться довольно трудно. Но это можно автоматизировать: смысл простой - берем некий логгер и логгируем реакции "живой" утилиты тындекса (не обязательно все возможные а только основные которые эмулируются), и запоминаем его. После обновления демона снимаем лог утилитой повторно и смотрим - есть ли разница. Если все совпало (с точностью до небольших расхождений во времени) то забиваем, иначе правим эмулятор.

Но пока это идеи на будущее. А пока удалось наконец провести полное и успешное тестирование обертки с эмулятором через CircleCI  :coolsmiley: :D



Пользователь добавил сообщение 23 Декабря 2018, 22:01:02:
Сами тесты конечно тоже пришлось править. Но там правки преимущественно в сторону упрощения.

Чуть поломал голову про тестирование на машине где уже установлен настоящий yandex-disk. Ведь для тестов важно подпихнуть эмулятор с оригинальным именем вместо оригинальной утилиты. Но в принципе тут все просто - подсовываем эмулятор (с именем оригинала) в путь, который добавляем в начало PATH и в тестовом окружении будет использоваться именно эмулятор. Но тестирование на машине с дефолтными настройками все равно требует дополнительных манипуляций... хотч есть мысли как это можно обойти (идеи на развитие эмулятора).
« Последнее редактирование: 23 Декабря 2018, 22:01:02 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн evgektor

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Всем привет!
По какой-то причине yd-tools (yandex-disk-indicator) не отображается в трее elementary OS 5.0 Juno.
Через -config мне удалось увидеть графический интерфейс и ввести свои учетные данные Я.Диска, но иконку в трее ни разу не наблюдал. Сам Яндекс Диск синхронизируется. Подскажите, как решить проблему с отображением в трее?

Оффлайн Sly_tom_cat

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

Быстрый гуглеж дал следующее:
5. Установка wingpanel-indicator.

По умолчанию на системной панели wingpanel не отображаются значки приложений сторонних разработчиков, таких как Skype, DropBox, погодные индикаторы и пр.

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

Оффлайн evgektor

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Про elementary OS 5.0 Juno ничего сказать не могу, могу только одно сказать - отображение иконки - это задача плагина индикатора в панели приложения.

Быстрый гуглеж дал следующее:
5. Установка wingpanel-indicator.

По умолчанию на системной панели wingpanel не отображаются значки приложений сторонних разработчиков, таких как Skype, DropBox, погодные индикаторы и пр.

... далее там расписано что и как вкручивать что бы индикаторы приложений заработали.

Большое Вам спасибо, все получилось! Видимо я не совсем корректно составлял запросы по "панели приложений" OS.

Оффлайн SergGT

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
Всем привет! Идникатор пару дней назад перестал быть активным, стал серым. Синхронизация тоже не происходит. Подскажите пжл как исправить?

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Что показывают команды в терминале:
yandex-disk status
env -i yandex-disk status
И еще, выйдите из индикатора (через меню индикатора или выполните pkill yd-tools ) и запустите и покажите что выводит
yandex-disk-indicator -l10

Если синхронизация не происходит - то это какая то трабла с самим демоном синхронизации яндекса.

Пользователь добавил сообщение 18 Апреля 2019, 10:31:25:
Ну и за одно вспомните что вы эти пару дней назад делали. У яндекса демон конечно не идеален, но он на пустом месте синхронизировать не перестанет... по крайней мере это крайне маловероятно.
« Последнее редактирование: 18 Апреля 2019, 10:37:31 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн SergGT

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
yandex-disk-indicator -l10
Я понял в чём проблема. Я менял пароль несколько дней назад).
А вот как теперь поменять пароль в клиенте не знаю, подскажите пжл?

Оффлайн Sly_tom_cat

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

ЗЫ работаю поддержкой яндекса. пора у них денег уже просить  ;) :2funny:


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

Оффлайн SergGT

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
Можно просто по-новой запустить
yandex-disk setupИ указать нужные данные.

ЗЫ работаю поддержкой яндекса. пора у них денег уже просить  ;) :2funny:
Спасибо)

Оффлайн DoctorRover

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 1987
  • Ubuntu 23.04, 23.10
    • Просмотр профиля
Прошу прощения, в PPA отсутствуют пакеты для Disco.
You're never too old to Rock'n'Roll if you're too young to die.

Оффлайн Sly_tom_cat

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

Оффлайн DoctorRover

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 1987
  • Ubuntu 23.04, 23.10
    • Просмотр профиля
You're never too old to Rock'n'Roll if you're too young to die.

Оффлайн Renesis

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
День добрый.
У меня в какой-то день (пару месяцев назад) перестал включатся yd-tools.  Пробовал решить самостоятельно и пока безрезультатно. Пробовал полностью переустановить удалив пакет целиком и затем с нуля установив - не помогает.   Ранее все работало, теперь при запуске системы - он не появляется в трее. При запуске вручную никаких ошибок не выдает но и не появляется ни в трее ни в виде окна настроек.    Я на линуксе недавно, поэтому может быть детская проблема, я пока не нашел ошибку.   Прошу помочь что можно попробовать чтобы восстановить работоспособность.

сам Yandex-disk и его синхронизация с сервером работает стабильно - все синхронизируется (все его настройки изначально делал через yd-tools).
ОС - Debian 10
  Operating System: Debian GNU/Linux bullseye/sid
            Kernel: Linux 5.3.0-2-amd64
      Architecture: x86-64

(несмотря на то, что это Debian, устанавливал пакет от ubuntu и никаких проблем не было выявлено ранее).
Пакет который скачивал и устанавливал последний раз сегодня (и он не работает) "yd-tools_1.11.0_all"
Пользовательский интерфейс - Cinnamon. (кроме того установлены еще несколько интерфейсов но на них не перепроверял т.к. привык уже с cinnamon и хотелось на нем восстановить работоспособность)
Как написано в первом сообщении пробовал сделать лог но как понял по дате создания файла он не работает. Консоль выдает следующее сообщение:
Цитировать
Traceback (most recent call last):
  File "/usr/bin/yandex-disk-indicator", line 26, in <module>
    from gi import require_version
ModuleNotFoundError: No module named 'gi'
Какого-то пакета может не хватает? Если так то как найти какого именно?
« Последнее редактирование: 01 Декабря 2019, 18:34:43 от Renesis »

 

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