Как определить платформу Meego / Maemo в Python? - PullRequest
3 голосов
/ 08 марта 2011

Я разрабатываю кроссплатформенное приложение для платформ Maemo / Meego / Linux, используя python (PySide).Я использую обходной путь для различия платформ Maemo и Linux:

try:
    import PySide.QtMaemo5
    PLATFORM = 'maemo'
except ImportError:
    PLATFORM = 'desktop'

Кто-нибудь знает, как обнаружить платформу Meego или лучший способ обнаружить платформу Maemo?

Ответы [ 2 ]

4 голосов
/ 08 марта 2011

Первый способ: использование модуля платформы, для Maemo:

>>> import platform
>>> platform.machine()
'armv71'
>>> platform.node() ## This is Host Name, not a safe method
'Nokia N900'

Поскольку платформа не очень полезна, по крайней мере, для Maemo, я рекомендую второй (и более безопасный) способ: использование / etc / issue:

issue = open('/etc/issue').read().strip().lower()
if issue.startswith('maemo'):
  ....
1 голос
/ 25 марта 2011

Давно обсуждали, как определить, на каком конкретном дистрибутиве работает ваше программное обеспечение, без очень удовлетворительного ответа. Есть много способов, чтобы сделать это, но что может быть наиболее полезным, так это использовать инструмент Стандартов Linux под названием "lsb_release".

Он включен в MeeGo, и вы можете использовать его следующим образом;

$ lsb_release -a

Который производит;

LSB Версия:: core-3.1-arm: core-3.1-noarch: core-3.2-arm: core-3.2-noarch: core-4.0-arm: core-4.0-noarch: desktop-3.1-arm: desktop -3,1-noarch: настольная-3,2-рука: настольный-3,2-noarch: настольные 4,0-рука: настольный-4,0-noarch Идентификатор дистрибьютора: MeeGo Описание: версия MeeGo 1.1.90 (MeeGo) Релиз: 1.1.90 Кодовое имя: MeeGo

На моем изображении. Если вы просто хотите релиз, вы можете сделать 'lsb_release -r'.

К сожалению, Maemo не обращает внимания на базу стандартов Linux, см. Эту ошибку: https://bugs.maemo.org/show_bug.cgi?id=10756 Поэтому вам, вероятно, придется использовать / usr / bin / osso-product-info в Maemo.

...