~bzr-pqm/bzr/bzr.dev

2624.1.1 by Adeodato Simó
Loose python2.4-specific shebangs; use generic python instead.
1
#! /usr/bin/env python
1393.1.36 by Martin Pool
- capture_tree tool to help in preparing test cases
2
3
# Copyright (C) 2005 Canonical Ltd
4
5
"""Print to stdout a description of the current directory, 
6
formatted as a Python data structure.
7
8
This can be useful in tests that need to recreate directory
9
contents."""
10
11
import sys
12
import os
13
14
from bzrlib.trace import enable_default_logging
15
enable_default_logging()
16
from bzrlib.selftest.treeshape import capture_tree_contents
17
18
def main(argv):
1393.1.37 by Martin Pool
- improved capture-tree representation
19
    # a lame reimplementation of pformat that splits multi-line
20
    # strings into concatenated string literals.
1393.1.36 by Martin Pool
- capture_tree tool to help in preparing test cases
21
    print '['
22
    for tt in capture_tree_contents('.'):
1393.1.37 by Martin Pool
- improved capture-tree representation
23
        assert isinstance(tt, tuple)
1393.1.39 by Martin Pool
- tweak capture_tree formatting
24
        print '    (', repr(tt[0]) + ',',
25
        if len(tt) == 1:
26
            print '),'
27
        else:
28
            assert len(tt) == 2
29
            val = tt[1]
30
            print
1393.1.37 by Martin Pool
- improved capture-tree representation
31
            if val == '':
1393.1.39 by Martin Pool
- tweak capture_tree formatting
32
                print "        ''"
1393.1.37 by Martin Pool
- improved capture-tree representation
33
            else:
34
                for valline in val.splitlines(True):
1393.1.39 by Martin Pool
- tweak capture_tree formatting
35
                    print '       ', repr(valline)
36
            print '    ),'
1393.1.36 by Martin Pool
- capture_tree tool to help in preparing test cases
37
    print ']'
38
39
if __name__ == '__main__':
40
    sys.exit(main(sys.argv))