1#!/usr/bin/python
2#
3# test-cp-msole.py
4#
5
6import sys
7from gi.repository import Gsf
8
9def clone(iput, oput):
10    size = iput.size
11    if size > 0:
12        lr = iput.remaining()
13        while lr > 0:
14            data = iput.read(lr)
15            ld = len(data)
16            lr = lr - ld
17            oput.write(data)
18    else:
19        clone_dir(iput, oput)
20    oput.close()
21
22def clone_dir(iput, oput):
23    nc = iput.num_children()
24    for i in range(nc):
25        inew = iput.child_by_index(i)
26        isdir = inew.num_children() > 0
27        onew = oput.new_child(iput.name_by_index(i), isdir)
28        clone(inew, onew)
29
30def test(argv):
31    print "test", argv[1], argv[2]
32
33    input = Gsf.InputStdio.new(argv[1])
34    if input == None:
35        print "yuck1"
36    infile = Gsf.InfileMSOle.new(input)
37    if infile == None:
38        print "yuck2"
39    del input
40
41    output = Gsf.OutputStdio.new(argv[2])
42    if output == None:
43        print "yuck3"
44    outfile = Gsf.OutfileMSOle.new(output)
45    if outfile == None:
46        print "yuck4"
47    del output
48
49    clone(infile, outfile)
50
51
52
53test(sys.argv)
54