quarckster / kodi.kino.pub

Kodi add-on for kino.pub
BSD 3-Clause "New" or "Revised" License
87 stars 17 forks source link

Cтранно работает отметка просмотра. #8

Closed apazhe closed 6 years ago

apazhe commented 6 years ago

Иногда флаг «просмотрено» взводится в самом начале просмотра. Иногда под конец. Иногда не взводится вообще. Иногда его не поставить даже вручную с первого раза, приходится подниматься на уровень выше, потом снова заходить в папку и повторять.

Какой-то логики в этом поведении я пока не выявил.

olsamurai commented 6 years ago

В версии 2.1.2 также подверждаю. Посмотрел эпизод до половины. Вышел в youtube addon. Вернулся в kinopub, а эпизод помечен как просмотренный полностью, а сначала был помечен как начатый.

quarckster commented 6 years ago

Мне кажется в старом аддоне такая же проблема была?

quarckster commented 6 years ago

Попробуйте изменить настройки самого Kodi https://kodi.wiki/view/HOW-TO:Modify_automatic_watch_and_resume_points

apazhe commented 6 years ago

Я, конечно, попробую. Но во всех остальных местах (DLNA, диск, плагин soap4.me) она работает правильно.

apazhe commented 6 years ago

Мне кажется в старом аддоне такая же проблема была?

Да, ничего не изменилось.

olsamurai commented 6 years ago

Этой проблемы не было в старой версии плагина. Настройки в Коди у меня изменены давно. Сейчас ещё раз попробовал - не помогает.

Что происходит: Включаем в разделе "Я смотрю" следующий эпизод. Смотрим примерно до половины. Останавливаем просмотр. Видим отметку, что эпизод начат к просмотру. Нажимаем кнопку назад на пульте. Подымаемся на один уровень вверх в список сезонов. Нажимаем сразу же опять на этом сезоне. Просмтренный до половины эпизод уже помечен как полностью просмотренный. И это можно повторить.

olsamurai commented 6 years ago

Специально проверял, ситуация следующая. С фильмами это не происходит. Только с сериалами. Причем в закладках тоже самое наблюдатется. Повторяемость 100%.

quarckster commented 6 years ago

Спасибо за наблюдения, попробую разобраться из-за чего это происходит.

quarckster commented 6 years ago

@olsamurai @apazhe не могли бы вы протестить баг в этой версии https://github.com/quarckster/kodi.kino.pub/releases/tag/2.1.3

apazhe commented 6 years ago

Не раньше вечера воскресенья, увы.

olsamurai commented 6 years ago

А я смогу завтра потестить. Всё равно сейчас на больничном.

Kampfader commented 6 years ago

вот тестировал я.. на Win10 Kodi18b3 64bit

у меня сейчас не в Фильмах, не в Сериалах, не работают Флаги..

-"флаг для начала Просмотра"

не ставит всегда, в 5 рас, мошить один рас повезёт и это невидно по Символу, а при нажатием на Кнопку "C"

-"флаг «просмотрено» "

  1. Выбираем фильм или Серию..
  2. Нажимаем кнопку "C"
  3. выберем "Отметить как Просмотренное" либо "Как не Просмотренное" -- никаких галочек у нас нету
  4. Нажимаем кнопку "C"
  5. выбираем "Mark as watched" и после этого все Галочки появились, либо ушли..
olsamurai commented 6 years ago

Версия 2.1.2. Пререлиз ещё не успел поставить. В сериалах функция "отметить как не просмотренное" не работает.

quarckster commented 6 years ago

вот тестировал я.. на Win10 Kodi18b3 64bit

у меня сейчас не в Фильмах, не в Сериалах, не работают Флаги..

-"флаг для начала Просмотра"

не ставит всегда, в 5 рас, мошить один рас повезёт и это невидно по Символу, а при нажатием на Кнопку "C"

-"флаг «просмотрено» "

1. Выбираем фильм или Серию..

2. Нажимаем кнопку "C"

3. выберем "Отметить как Просмотренное" либо "Как не Просмотренное"
   -- никаких галочек у нас нету

4. Нажимаем кнопку "C"

5. выбираем "Mark as watched"
   и после этого все Галочки появились, либо ушли..

Давайте пока разберёмся с версией 17.6. Когда Kodi18 релизнится, тогда и будем работать над портированием.

olsamurai commented 6 years ago

Я тестирую на Raspberry Pi II с Kodi 17. Так что всё стандартно.

olsamurai commented 6 years ago

К сожалению в верисии 2.1.3 лучше не стало. Статус "непросмотренный" через контекстное меню поставить нельзя. После недосмотренного эпизода статус после выхода из директории сразу пропадает. Что в закладках, что в "буду смотреть".

quarckster commented 6 years ago

@olsamurai не могу воспроизвести баг с контекстным меню, и это, строго говоря, совсем другая ошибка. В изначальном описании речь шла об отметке просмотра после воспроизведения видео.

olsamurai commented 6 years ago

quarckster, о контекстном меню я заодно написал. Я понимаю, что проблема другая. Но что мне не даёт покоя, так это то, что в версии 1.6.1 всей этой проблемы со статусом нет... А вы не можете вообще проблемы со статусом повторить?

quarckster commented 6 years ago

нет, тоже не могу воспроизвести, у меня отметки о просмотре ставятся нормально для всех видео.

olsamurai commented 6 years ago

А можно как-то debug для этого REST-интерфейса включить. Я бы посмотрел.

quarckster commented 6 years ago

Дело в том, что в этой предрелизной версии плагин не отправляет никакой информации на сервер о статусе видео. Вот здесь https://github.com/quarckster/kodi.kino.pub/commit/a1fe2ce8dc4e333706620aa05585cc89435f444f#diff-3d24345204b0dc241819199f839cdaaaL295 я удалил этот код. Единственное с чем могут быть связаны исчезновения отметок так это с тем, что плагин берёт эту информацию с кинопаба при каждом открытии папки.

olsamurai commented 6 years ago

Если плагин ничего не отправляет, то при входе в папку он берёт старую информацию с кинопаба. При входе в папку информация должна обновляться (в моем понимании), т.к. сервер единственное место для синхронизации различных приборов (клиентов). А как включить debug только для плагина кинопаба, чтобы посмотреть запросы и ответы ещё в сыром варианте?

quarckster commented 6 years ago

А как включить debug только для плагина кинопаба?

Такой возможности напрямую нет. Я использую web_pdb для дебага https://github.com/romanvm/kodi.web-pdb

olsamurai commented 6 years ago

Спасибо, наверное придется разбираться. У меня Коди стоит на Raspberry Pi и она подключена к телеку. И просто так мне никто не даст её отключить (жена и ребенок меня порвут). У меня доступ только по sftp или по SSH.

quarckster commented 6 years ago

Коди можно установить на любой комп, аддон можно установить туда же.

olsamurai commented 6 years ago

Это понятно, вопрос в том, что будет ли там эта проблема... Завтра буду думать.

quarckster commented 6 years ago

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

olsamurai commented 6 years ago

Ситуация следующая:

  1. Контекстное меню - работает! Сам виноват. Плагин добавляет меню пункт на русском (видно в исходниках : Отметить как непросмотренное). Есть еще один пункт от Коди - тоже самое на немецком. Так я автоматически выбирал на немецком. Как результат: ничего не происходило.

  2. Проблема с пометкой начато к просмотру. Я немножко добавил вывовод в лог.

Выбираю к просмотру "Ходячие мертвецы", 9 сезон, 7 серия. 10:59:06.893 T:1925876224 DEBUG: OnPlayMedia plugin://video.kino.pub/play?episode_number=7&season_number=9&id=8837&video_data=%7B 10:59:07.029 T:1925876224 DEBUG: StartScript - calling plugin kino.pub('plugin://video.kino.pub/play','39','?episode_number=7&season_number=9&id=8837&video_data=%7B%22files%22%3A+%5B%7B%22url%2

Стартуется плагин: 10:59:07.030 T:1329586944 DEBUG: CPythonInvoker(49, /home/osmc/.kodi/addons/video.kino.pub/default.py): start processing 10:59:07.050 T:1354752768 DEBUG: Thread scriptobs start, auto delete: false 10:59:07.250 T:1925876224 DEBUG: ------ Window Init (DialogBusy.xml) ------ 10:59:07.420 T:1329586944 DEBUG: -->Python Interpreter Initialized<-- 10:59:07.420 T:1329586944 DEBUG: CPythonInvoker(49, /home/osmc/.kodi/addons/video.kino.pub/default.py): the source file to load is "/home/osmc/.kodi/addons/video.kino.pub/default.py" 10:59:07.420 T:1329586944 DEBUG: CPythonInvoker(49, /home/osmc/.kodi/addons/video.kino.pub/default.py): setting the Python path to /home/osmc/.kodi/addons/video.kino.pub:/usr/lib/python2.7:/usr/lib/python2.7/plat-arm-linux-gnueabihf:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PILcompat:/usr/lib/python2.7/dist-packages/gtk-2.0 10:59:07.420 T:1329586944 DEBUG: CPythonInvoker(49, /home/osmc/.kodi/addons/video.kino.pub/default.py): entering source directory /home/osmc/.kodi/addons/video.kino.pub 10:59:07.421 T:1329586944 DEBUG: CPythonInvoker(49, /home/osmc/.kodi/addons/video.kino.pub/default.py): instantiating addon using automatically obtained id of "video.kino.pub" dependent on version 2.1.0 of the xbmc.python api

И сразу же видим следующий код в логе: 10:59:08.178 T:1329586944 DEBUG: kinopub GET request: http://api.service-kp.com/v1/watching/marktime?season=9&video=7&id=8837&time=3523 10:59:08.394 T:1329586944 DEBUG: kinopub response: {u'status': 200}

Т.е. при открытии к просмотру плагин говорит, что он устанавливает marktime! Причем time=3523, это в секундах продолжительность всего эпизода! Эпизод уже помечен как просмотрен, хотя еще даже не открыт...

Потом я перематываю на 20 минуту.

10:59:18.484 T:1354752768 DEBUG: demuxer seek to: 1205007.000000, success 1205007 в мс примерно 20 минут с секундами. Все совпадает.

Потом просмотр останавливается, но marktime, уже вначале установлен на всю продолжительность эпизода. Похоже, что проблема в том, что marktime устанавливается в начале, а не там, где остановились!

quarckster commented 6 years ago

@olsamurai проверьте, пожалуйста, что в файле addonworker.py нет KinoPubClient("watching/marktime").get(). Именно эта строчка и делает запрос к http://api.service-kp.com/v1/watching/marktime?. В версии 2.1.3 я её как раз и удалил.

Похоже, что проблема в том, что marktime устанавливается в начале, а не там, где остановились!

Я работаю над тем, чтобы marktime ставился правильно, но это будет реализовано позже. Пока хотелось бы разобраться с багом.

olsamurai commented 6 years ago

Там эта строчка как раз есть, я брал за основу версию 2.1.2. В версии 2.1.3 строчки нет, но тогда marktime совсем не вызывется.

Разве не надо какойто callback (event) вида onPlayBackEnded?

olsamurai commented 6 years ago

Сразу извините за русский, у меня мнемоническая русская раскладка - это треш и ад.

quarckster commented 6 years ago

Разве не надо какойто callback (event) вида onPlayBackEnded?

Как раз над этим я работаю, api для плагинов предоставляет такую возможность. Что касается статуса "просмотренный", здесь ситуация сложнее. Kodi ставит эту отметку у себя в базе в соотвествии с этими настройками https://kodi.wiki/view/HOW-TO:Modify_automatic_watch_and_resume_points. Однако, в аддоне статус берётся через через api кинопаба. По-хорошему необходимо реализовать коллбэк, который бы отправлял на кинопаб статус о просмотре, когда kodi отмечает видео как просмотренное, но этой возможности в api нет. Поэтому в контекстном меню появились отдельные строчки.

olsamurai commented 6 years ago

Тогда все идет по плану ;) В версии 2.1.3 marktime не ставится, как следствие, после выхода из директории эпизод отмечен как новый (как буд-то и не начинали смотреть) Бага нет, все в соответствии скодом работает!