Bazar: bzrlib equivalente a "información bzr"

Intento escribir un script simple que rastree una list de directorys, compruebe si están controlados por la versión bzr y luego me dice cuál es su estado, es decir, cuántos files se han modificado, agregado, etc.

He hecho esto con la API de bzrlib Python, y está funcionando muy bien.

Mi último obstáculo ha sido tratar de descubrir cómo llegar al tronco del que se originó la twig.

Hacer esto en la línea de command es simple:

bzr info 

Sin embargo, ¿cuál es el equivalente en bzrlib?

Por el momento, estoy abriendo las ubicaciones como treees de trabajo:

 d = 'some directory' wt = workingtree.WorkingTree.open(d) 

Tiendo a utilizar "pago y envío" en mi trabajo, por lo que estaría buscando algo que me diga la location de la twig de la que está extraída la instancia actual, por ejemplo, desde la command-line:

 >bzr info dev Checkout (format: unnamed) Location: checkout dev: dev checkout of branch: bzr+ssh://bazaar.launchpad.net/.... 

Básicamente quiero la última línea como una cadena que puedo conectar a mi script.

Muchas gracias de antemano por su time

Aclamaciones,

Dave

Para reference futura, para aquellos interesados. Siguiendo la sugerencia de la respuesta aceptada a continuación, aquí se muestra cómo acceder a la información de bzr para usar la location 'd':

 from bzrlib import repository, branch, workingtree, info r = repository.Repository.open(d) b = branch.Branch.open(d) w = workingtree.WorkingTree.open(d) bzr_info = info.gather_location_info(r,branch=b,working=w) 

Quizás exista una forma más elegante de hacerlo, en cuyo caso siéntase libre de agregar comentarios aquí.

Echa un vistazo a los siguientes methods:

 bzrlib.builtins.cmd_info bzrlib.info.show_component_info bzrlib.info.gather_location_info 

básicamente gather_location_info () le dará la información pero AFAICT necesita darle un repository abierto, una twig y un tree de trabajo.