(Mythbuntu) После обновления до XBMC 11 Mythbox теперь говорит: "Не удается импортировать имя decodeLongLong"?

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

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

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

Error: oninit

cannot import name decodeLongLong

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

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

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

3 ответа

Решение

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, если это происходит динамически, исходный код не показывает никаких следов этого, но может случиться так, что что-то делается через менеджер пакетов. Лучше быть в безопасности, чем потом сожалеть.

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

Я использую XBMC 11.0 на Windows, с MythBox 1.1.0. Мне просто нужно изменить одну строку в addons\script.mythbox\resources\src\mythbox\mythtv\protocol.py:

Изменена строка 91 с

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

в

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

как decodeLongLong в любом случае повторно реализован в этом классе.

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

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

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

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

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

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

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

Другие вопросы по тегам