Запросить последнюю версию LTS с помощью Launchpad API

Есть ли возможность запросить у API Launchpad список всех выпусков LTS?

В противном случае, я могу получить релизы и их статус по

from launchpadlib.launchpad import Launchpad, STAGING_SERVICE_ROOT

cachedir = "/tmp/launchpadlib/cache/"
lp = Launchpad.login_anonymously('ppastats', 'edge', cachedir, version='devel')
launchpad = lp
[s.status for s in launchpad.distributions["ubuntu"].series]

Но как отфильтровать это по критерию LTS?

Заранее большое спасибо.

2 ответа

Есть ли причина, по которой вы не можете просто предположить, что самый старый активный релиз - самый старый LTS? LTS поддерживаются дольше всех, поэтому никогда не будет LTS, не переживающего LTS. Например:

>>> [s.name for s in lp.distributions['ubuntu'].series if s.active][-1]
'precise'

Кроме того, LTS выпускаются в апреле с четными годами, поэтому, чтобы получить ВСЕ поддерживаемые в настоящее время LTS, вы можете сделать трюк, подобный следующему:

>>> [s.name for s in lp.distributions['ubuntu'].series if s.active and s.version.endswith('.04') and not int(s.version.split('.')[0]) % 2]
['trusty', 'precise']

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

Также, пожалуйста, не используйте "край", так как он давно устарел и существует только для совместимости. Вместо этого используйте "производство".

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