~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/plugin.py

  • Committer: Martin Pool
  • Date: 2005-08-24 08:59:32 UTC
  • Revision ID: mbp@sourcefrog.net-20050824085932-c61f1f1f1c930e13
- Add a simple UIFactory 

  The idea of this is to let a client of bzrlib set some 
  policy about how output is displayed.

  In this revision all that's done is that progress bars
  are constructed by a policy established by the application
  rather than being randomly constructed in the library 
  or passed down the calls.  This avoids progress bars
  popping up while running the test suite and cleans up
  some code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
59
59
    
60
60
    from bzrlib.trace import log_error, mutter, log_exception
61
61
    from bzrlib.errors import BzrError
 
62
    from bzrlib import plugins
62
63
 
63
 
    bzrpath = os.environ.get('BZR_PLUGIN_PATH', DEFAULT_PLUGIN_PATH)
 
64
    dirs = os.environ.get('BZR_PLUGIN_PATH', DEFAULT_PLUGIN_PATH).split(":")
 
65
    dirs.insert(0, os.path.dirname(plugins.__file__))
64
66
 
65
67
    # The problem with imp.get_suffixes() is that it doesn't include
66
68
    # .pyo which is technically valid
70
72
    suffixes = imp.get_suffixes()
71
73
    suffixes.append(('.pyo', 'rb', imp.PY_COMPILED))
72
74
    package_entries = ['__init__.py', '__init__.pyc', '__init__.pyo']
73
 
    for d in bzrpath.split(os.pathsep):
 
75
    for d in dirs:
74
76
        # going through them one by one allows different plugins with the same
75
77
        # filename in different directories in the path
76
78
        mutter('looking for plugins in %s' % d)