Me gustaría recuperar mediante programación todas las preguntas y respuestas relacionadas con un proyecto desde la plataforma de lanzamiento, para poder importarlas a un nuevo sitio del foro. Estaba mirando launchpadlib pero no puedo acceder a las preguntas de un solo proyecto:
from launchpadlib.launchpad import Launchpad
ll=Launchpad.login_anonymously('')
# get the project; but it does not contain references to questions (it references bugs, translations etc, but not questions
pro=ll.project['woo']
# some (random?) question from launchpad, but not for the project I need
ll.questions
usar la API web también estaría bien. Obtener el contenido en cualquier formato legible por máquina (JSON, XML) es el objetivo.
Respuesta1
La versión predeterminada de la API 1.0 es estable pero bastante antigua y no incluye muchos métodos que se hayan exportado más recientemente. Para esto necesitas usar la versión "devel" de la API:
lp = Launchpad.login_anonymously('name of your script', version='devel')
Luego puede utilizar los métodos documentados en eldesarrollar documentos API, específicamente project.searchQuestions
:
project = lp.projects['foo']
questions = project.searchQuestions()
Puede limitar esto de varias maneras como lo indican los documentos de la API, o simplemente solicitar todo como se indica arriba; de cualquier manera, obtendrás una colección por lotes depreguntaobjetos sobre los que puede iterar y operar.