(Mythbuntu) После обновления до XBMC 11 Mythbox теперь говорит «не может импортировать имя decodeLongLong»?

699
Josh

Основные характеристики:
Mythbuntu 10.10 (maverick)
XBMC 11 - от команды xbmc maverick
ppa Mythtv 0.23.1 + исправление (стандартная версия mythbuntu 10.10)
Mythbox version 1.1.0

Итак, я с радостью продолжил запуск XBMC 10.1 на своей установке HTPC и увидел, что все были в восторге от XBMC 11, и он был доступен на PPA.

Теперь, когда я захожу в mythbox и выбираю запись, мне показывается следующее сообщение об ошибке:

Error: oninit  cannot import name decodeLongLong 

Это только влияет на его способность показывать уменьшенное изображение для записи. Когда я начинаю проигрывать записи, все идет хорошо.

Что означает это сообщение об ошибке? Есть ли способ, как я могу это исправить? Есть библиотека, которую я пропускаю или что-то?

Изменить: я разместил еще несколько деталей в комментариях здесь.

3
Мне также интересно, если кто-то еще видит ту же проблему. Google не предлагает ничего кроме моего вопроса :( Josh 12 лет назад 0
По какой-либо причине вы используете такую ​​старую версию Mythbuntu? Tshepang 12 лет назад 0
Потому что я настроил его с 10.10, и он "просто работал". Не так много стимулов для обновления дистрибутива на выделенном HTPC. (Я должен был выучить тот же урок о том, что не нужно обновлять XBMC, но cest la vie: /) Josh 12 лет назад 0
Дополнительная информация: Если я использую функцию «отката» для закрепления MythBox на 1.0.4, то у меня нет этой проблемы. (Но я не могу использовать 1.0.4 по другим причинам) Josh 12 лет назад 0
Дальнейшее дальнейшее расследование: я полагаю, что я никогда раньше не слишком внимательно изучал раздел «Информация о программе», но там больше пустого материала. И я копался в питоне, и, похоже, у меня возникла проблема при определении размера файла. Я боюсь попробовать и исправить это вручную, потому что мои знания Python минимальны ... Josh 12 лет назад 0
Больше информации: Когда я играю запись, видео, кажется, не появляется, если я не остановлю его и не начну снова. Иногда. Я не знаю, связано ли это Но это происходит только с Mythbox, а не с другими частями XBMC. Josh 12 лет назад 0

3 ответа на вопрос

2
Tom Wijsman

Mythbox был написан на Python, cannot import nameявляется типичным исключением Python .

Это не имеет ничего общего с часовым поясом, так как другие склонны верить, а потому, что Python пытается импортировать то, что не существует или, по крайней мере, недоступно.

decodeLongLongэто функция, которую мы можем найти в MythTV API ; Обратите внимание, что эта функция написана на C ++ и поэтому недоступна из Python, поэтому необходимо сделать что-то, чтобы эта функция была доступна в Python. Именно модули перевода C ++ могут быть скомпилированы, а затем использованы кодом Python .

Точно, оболочка Python для вызова функций C ++ decodeLongLongв данный момент не содержит функции. Вам придется дождаться ответа на вопрос 203 ; хотя вы можете попытаться установить обновление MythTV, потому что это может быть относительно новой функцией. API упоминает 0.25-preна своей первой странице. Так что, если вам комфортно работать с передовым кодом, вы можете попробовать перейти с 0.23.1версии на 0.25-pre; если нет, перейдите на последнюю 0.24версию и посмотрите, работает ли это.

Это обновит оболочку Python, которую использует Mythbox, и, надеюсь, поместит туда функцию. Возможно, вам придется переустановить Mythbox, если это происходит динамически, исходный код не показывает никаких следов этого, но может случиться так, что что-то делается через менеджер пакетов. Лучше быть в безопасности, чем потом сожалеть.

Вам не нужно ничего обновлять ...

Я постараюсь обновить mythtv до 0.24 и доложить. Может быть, разработчик MythBox не верил, что кто-то еще использует старую версию. Josh 12 лет назад 1
Просто обновился до 0.24, используя deb "mythbuntu-repos" с http://www.mythbuntu.org/repos, и пока все хорошо. По крайней мере, достаточно, чтобы пометить это как лучший ответ. Josh 12 лет назад 1
0
harrymc

(Не пользователь XBMC пытается помочь.)

Вы сообщили об этой ошибке как проблема 203 на форуме mythbox.

Загадочно, я нахожу следы подобной ошибки на мифических форумах, возвращаясь к:

Проблема 6: Сбой преобразования
часового пояса с текущим транком (станет 0,24). Проблема 7: Исправление для / trunk / mythcal для исправления ошибки «невозможно импортировать имя MythTV».
Проблема 8: Необходим пакет libmyth-python для Fedora

Эта проблема, похоже, связана с часовым поясом и может быть активирована даже чем-то столь банальным, как переход на летнее время.

Так как эта проблема помечена как разрешенная на форумах Мифкал (которая может иметь отношение к мифбоксу или не иметь к ней отношения), возможно, стоит обновить все версии программного обеспечения до последней версии, если потребуется, вплоть до магистральной версии.

Если ошибка все еще существует даже в ствольной версии, то на форумах mythbox, скорее всего, вы ее исправите (если только разработчик mythbox не ответит здесь).

0
Martin C.

I am using XBMC 11.0 on Windows, with MythBox 1.1.0. I just needed to modify a single line in addons\script.mythbox\resources\src\mythbox\mythtv\protocol.py:

Changed line 91 from

return decodeLongLong(int(program.getField('fs_low')), int(program.getField('fs_high'))) / 1024.0 

to

return self.decodeLongLong(int(program.getField('fs_low')), int(program.getField('fs_high'))) / 1024.0 

as the decodeLongLong is re-implemented in this class anyways.