2009-12-07 3 views

Répondre

1

Jetez un oeil à la sortie Bazaar configuration: de bzr version. Voir également la fonction show_version dans bzrlib/version.py.

Pour l'utilisation du répertoire de configuration:

from bzrlib import config 
print config.config_dir() 

Ou, pour le chemin de plugin utilisateur (voir bzrlib/plugin.py):

from bzrlib import plugin 
print plugin.get_user_plugin_path() 

Pour une liste complète des chemins de plug-ins:

from bzrlib import plugin 
print plugin.get_standard_plugins_path() 
+0

Les trois réponses sont correctes et il est difficile de choisir lequel est le plus correct « réponse », mais je ne besoin d'un moyen pour arriver à la version via la commande bazar plutôt que l'API interne. Je n'ai pas mentionné que j'utilisais java pas python pour obtenir ce répertoire. Donc, je vais devoir marquer cela comme la réponse :) – Craig

+0

Si vous avez besoin de cette sortie en tant que sortie de la commande bzr, vous pouvez écrire très simple plugin bzr pour cela. – bialix

+0

Ou même simplement lancer python avec l'extrait que j'ai fourni. – bialix

2

plugins Bazaar sont recherchés dans les répertoires suivants:

* <pythonlib>/site-packages/bzrlib/plugins/ 
     (where <pythonlib> is something like usr/lib/python2.4, 
     depending on your installation) 

* $HOME/.bazaar/plugins/ 

Vous pouvez définir le répertoire plugins de bazar via BZR_PLUGIN_PATH variables environement, aussi.

En savoir plus sur les plugins de bazar: http://bazaar-vcs.org/BzrPlugins

2

Selon le bazar website, plugins utilisateur sont recherchés dans ~/.bazaar/plugins par défaut, mais peut être remplacée par la variable d'environnement BZR_PLUGIN_PATH. Donc, tester si cette variable est définie, sinon retourner la valeur par défaut. En python:

import os 
user_plugin_path = os.environ.get('BZR_PLUGIN_PATH', '~/.bazaar/plugins') 

Edit: cela fonctionne pour les systèmes unix, pour les fenêtres les utilisations chemin plugin est $APPDATA/bazaar/2.0/plugins.

Le plugin système est au format bzrlib/plugins, voir Installation d'un plugin sur la page here. Utilisez distutils pour obtenir le préfixe (par exemple /usr/lib/python2.4/site-packages/bzrlib/plugins/):

from distutils.sysconfig import get_python_lib 
global_plugin_path = os.path.join(get_python_lib(), 'bzrlib/plugins') 

(Merci à la MYYN pour fournir l'autre page de documentation)

1

Si vous avez installé bzr dans votre système, vous pouvez utiliser l'extrait Python suivant pour obtenir la liste des répertoires où bzr Rechercher plugins:

>>> import os 
>>> from bzrlib import plugin 
>>> list_of_bzr_plugins_paths = [os.path.abspath(p) 
     for p in plugin.get_standard_plugins_path()] 
Questions connexes