~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: Aaron Bentley
  • Date: 2005-10-06 04:29:10 UTC
  • mfrom: (1185.14.11)
  • mto: (1185.25.1)
  • mto: This revision was merged to the branch mainline in revision 1419.
  • Revision ID: aaron.bentley@utoronto.ca-20051006042910-a3263271389bfdc2
Merged conflict handling work

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
# Those objects can specify the expected type of the argument, which
25
25
# would help with validation and shell completion.
26
26
 
27
 
 
28
 
# TODO: Help messages for options.
29
 
 
30
 
# TODO: Define arguments by objects, rather than just using names.
31
 
# Those objects can specify the expected type of the argument, which
32
 
# would help with validation and shell completion.
33
 
 
34
 
 
35
 
# TODO: Help messages for options.
36
 
 
37
 
# TODO: Define arguments by objects, rather than just using names.
38
 
# Those objects can specify the expected type of the argument, which
39
 
# would help with validation and shell completion.
40
 
 
41
 
 
 
27
# TODO: "--profile=cum", to change sort order.  Is there any value in leaving
 
28
# the profile output behind so it can be interactively examined?
42
29
 
43
30
import sys
44
31
import os
368
355
    'root':                   str,
369
356
    'no-backup':              None,
370
357
    'pattern':                str,
 
358
    'remember':               None,
371
359
    }
372
360
 
373
361
SHORT_OPTIONS = {
532
520
def apply_profiled(the_callable, *args, **kwargs):
533
521
    import hotshot
534
522
    import tempfile
 
523
    import hotshot.stats
535
524
    pffileno, pfname = tempfile.mkstemp()
536
525
    try:
537
526
        prof = hotshot.Profile(pfname)
539
528
            ret = prof.runcall(the_callable, *args, **kwargs) or 0
540
529
        finally:
541
530
            prof.close()
542
 
 
543
 
        import hotshot.stats
544
531
        stats = hotshot.stats.load(pfname)
545
 
        #stats.strip_dirs()
546
 
        stats.sort_stats('time')
 
532
        stats.strip_dirs()
 
533
        stats.sort_stats('cum')   # 'time'
547
534
        ## XXX: Might like to write to stderr or the trace file instead but
548
535
        ## print_stats seems hardcoded to stdout
549
536
        stats.print_stats(20)
550
 
 
551
537
        return ret
552
538
    finally:
553
539
        os.close(pffileno)