~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/plugin.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2008-10-01 07:56:03 UTC
  • mfrom: (3224.5.40 faster-startup)
  • Revision ID: pqm@pqm.ubuntu.com-20081001075603-s9nynw8y85fmrprj
Reduce startup time by a small amount. (Andrew Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
""")
51
51
 
52
52
from bzrlib.symbol_versioning import deprecated_function, one_three
53
 
from bzrlib.trace import mutter, warning, log_exception_quietly
54
53
 
55
54
 
56
55
DEFAULT_PLUGIN_PATH = None
162
161
    for d in dirs:
163
162
        if not d:
164
163
            continue
165
 
        mutter('looking for plugins in %s', d)
 
164
        trace.mutter('looking for plugins in %s', d)
166
165
        if os.path.isdir(d):
167
166
            load_from_dir(d)
168
167
 
201
200
            else:
202
201
                continue
203
202
        if getattr(_mod_plugins, f, None):
204
 
            mutter('Plugin name %s already loaded', f)
 
203
            trace.mutter('Plugin name %s already loaded', f)
205
204
        else:
206
 
            # mutter('add plugin name %s', f)
 
205
            # trace.mutter('add plugin name %s', f)
207
206
            plugin_names.add(f)
208
207
    
209
208
    for name in plugin_names:
217
216
                sanitised_name = re.sub('[-. ]', '_', name)
218
217
                if sanitised_name.startswith('bzr_'):
219
218
                    sanitised_name = sanitised_name[len('bzr_'):]
220
 
                warning("Unable to load %r in %r as a plugin because the "
 
219
                trace.warning("Unable to load %r in %r as a plugin because the "
221
220
                        "file path isn't a valid module name; try renaming "
222
221
                        "it to %r." % (name, d, sanitised_name))
223
222
            else:
224
 
                warning('Unable to load plugin %r from %r' % (name, d))
225
 
            log_exception_quietly()
 
223
                trace.warning('Unable to load plugin %r from %r' % (name, d))
 
224
            trace.log_exception_quietly()
226
225
            if 'error' in debug.debug_flags:
227
226
                trace.print_exception(sys.exc_info(), sys.stderr)
228
227
 
239
238
    archive = zip_name[:index+4]
240
239
    prefix = zip_name[index+5:]
241
240
 
242
 
    mutter('Looking for plugins in %r', zip_name)
 
241
    trace.mutter('Looking for plugins in %r', zip_name)
243
242
 
244
243
    # use zipfile to get list of files/dirs inside zip
245
244
    try:
259
258
                    for name in namelist
260
259
                    if name.startswith(prefix)]
261
260
 
262
 
    mutter('Names in archive: %r', namelist)
 
261
    trace.mutter('Names in archive: %r', namelist)
263
262
    
264
263
    for name in namelist:
265
264
        if not name or name.endswith('/'):
291
290
        if not plugin_name:
292
291
            continue
293
292
        if getattr(_mod_plugins, plugin_name, None):
294
 
            mutter('Plugin name %s already loaded', plugin_name)
 
293
            trace.mutter('Plugin name %s already loaded', plugin_name)
295
294
            continue
296
295
    
297
296
        try:
298
297
            exec "import bzrlib.plugins.%s" % plugin_name in {}
299
 
            mutter('Load plugin %s from zip %r', plugin_name, zip_name)
 
298
            trace.mutter('Load plugin %s from zip %r', plugin_name, zip_name)
300
299
        except KeyboardInterrupt:
301
300
            raise
302
301
        except Exception, e:
303
302
            ## import pdb; pdb.set_trace()
304
 
            warning('Unable to load plugin %r from %r'
 
303
            trace.warning('Unable to load plugin %r from %r'
305
304
                    % (name, zip_name))
306
 
            log_exception_quietly()
 
305
            trace.log_exception_quietly()
307
306
            if 'error' in debug.debug_flags:
308
307
                trace.print_exception(sys.exc_info(), sys.stderr)
309
308