~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to clean_tree.py

  • Committer: Aaron Bentley
  • Date: 2006-06-23 18:19:25 UTC
  • Revision ID: abentley@panoramicfeedback.com-20060623181925-ae3ff20c166cab49
Clean up style

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
        subp.endswith('.OTHER') or subp.endswith('~') or subp.endswith('.tmp')
30
30
 
31
31
 
32
 
def iter_deletables(tree, unknown=False, ignored=False, detritus=False):
 
32
def iter_deletables(tree, unknown=True, ignored=False, detritus=False):
33
33
    """Iterate through files that may be deleted"""
34
34
    for subp in tree.extras():
35
35
        if detritus and is_detritus(subp):
43
43
                yield tree.abspath(subp), subp
44
44
 
45
45
 
46
 
def clean_tree(directory, unknown=False, ignored=False, detritus=False, 
47
 
               dry_run=False, no_prompt=False):
 
46
def clean_tree(directory, ignored=False, detritus=False, dry_run=False):
48
47
    """Remove files in the specified classes from the tree"""
49
48
    tree = WorkingTree.open_containing(directory)[0]
50
 
    tree.lock_read()
51
 
    try:
52
 
        deletables = list(iter_deletables(tree, unknown=unknown,
53
 
            ignored=ignored, detritus=detritus))
54
 
        if len(deletables) == 0:
55
 
            note('Nothing to delete.')
56
 
            return 0
57
 
        if not no_prompt:
58
 
            for path, subp in deletables:
59
 
                print subp
60
 
            val = raw_input('Are you sure you wish to delete these [y/N]?')
61
 
            if val.lower() not in ('y', 'yes'):
62
 
                print 'Canceled'
63
 
                return 0
64
 
        delete_items(deletables, dry_run=dry_run)
65
 
    finally:
66
 
        tree.unlock()
 
49
    deletables = iter_deletables(tree, ignored=ignored, detritus=detritus)
 
50
    delete_items(deletables, dry_run=dry_run)
67
51
 
68
52
 
69
53
def delete_items(deletables, dry_run=False):