~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to tools/capture_tree.py

  • Committer: Martin Pool
  • Date: 2005-10-04 10:10:48 UTC
  • mto: (1185.13.3)
  • mto: This revision was merged to the branch mainline in revision 1403.
  • Revision ID: mbp@sourcefrog.net-20051004101047-bd75d2b341134eff
- capture_tree tool to help in preparing test cases

- capture_tree code should cope with directories containing fifos, etc

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/env python
 
1
#! /usr/bin/env python2.4
2
2
 
3
3
# Copyright (C) 2005 Canonical Ltd
4
4
 
8
8
This can be useful in tests that need to recreate directory
9
9
contents."""
10
10
 
 
11
# TODO: It'd be nice if this split long strings across 
 
12
# multiple lines, relying on Python concatenation of consecutive
 
13
# string constants.
 
14
 
11
15
import sys
12
16
import os
 
17
import pprint
13
18
 
14
19
from bzrlib.trace import enable_default_logging
15
20
enable_default_logging()
16
21
from bzrlib.selftest.treeshape import capture_tree_contents
17
22
 
18
23
def main(argv):
19
 
    # a lame reimplementation of pformat that splits multi-line
20
 
    # strings into concatenated string literals.
21
24
    print '['
22
25
    for tt in capture_tree_contents('.'):
23
 
        assert isinstance(tt, tuple)
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
31
 
            if val == '':
32
 
                print "        ''"
33
 
            else:
34
 
                for valline in val.splitlines(True):
35
 
                    print '       ', repr(valline)
36
 
            print '    ),'
 
26
        print `tt`, ','
37
27
    print ']'
38
28
 
39
29
if __name__ == '__main__':