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