Программное определение каталога плагинов Bazaar - PullRequest
1 голос
/ 07 декабря 2009

Есть ли способ определить каталог Bazaar программно? Если для определения каталога подключаемых модулей существует команда bazaar, это будет лучшим решением.

Ответы [ 4 ]

2 голосов
/ 07 декабря 2009

По данным базара на сайте , пользовательские плагины ищутся в ~/.bazaar/plugins по умолчанию, но могут быть переопределены переменной окружения BZR_PLUGIN_PATH. Поэтому проверьте, установлена ​​ли эта переменная, в противном случае верните значение по умолчанию. В питоне:

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

Редактировать: это работает для систем на основе Unix, для Windows путь к плагину использует $APPDATA/bazaar/2.0/plugins.

Плагин для всей системы находится в bzrlib/plugins, см. Установка плагина внизу страницы здесь . Используйте distutils, чтобы получить префикс (например, /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')

(Спасибо MYYN за предоставление другой страницы документации)

2 голосов
/ 07 декабря 2009

Плагины Bazaar ищутся в следующих каталогах:

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

* $HOME/.bazaar/plugins/

Вы также можете установить каталог плагинов для Bazaar через BZR_PLUGIN_PATH переменную окружения, а также.

Подробнее о плагинах для базаров: http://bazaar -vcs.org / BzrPlugins

1 голос
/ 07 декабря 2009

Если в вашей системе установлен bzr, вы можете использовать следующий фрагмент кода Python, чтобы получить список каталогов, где bzr ищет плагины:

 >>> import os
 >>> from bzrlib import plugin
 >>> list_of_bzr_plugins_paths = [os.path.abspath(p) 
         for p in plugin.get_standard_plugins_path()]
1 голос
/ 07 декабря 2009

Посмотрите на Bazaar configuration: вывод bzr version. Также см. Функцию show_version в bzrlib/version.py.

Для каталога конфигурации используйте:

from bzrlib import config
print config.config_dir()

Или, для пути пользовательского плагина (см. bzrlib/plugin.py):

from bzrlib import plugin
print plugin.get_user_plugin_path()

Полный список путей для плагинов:

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