/stdhome

To get this branch, use:
bzr branch http://bzr.ed.am/stdhome

« back to all changes in this revision

Viewing changes to lib/stdhome/walker/copy_base.py

  • Committer: Tim Marston
  • Date: 2016-05-22 16:45:54 UTC
  • Revision ID: tim@ed.am-20160522164554-n5qhuibvnv0z4tk1
added general reporting to CopyBase and configured it via copy-in and copy-out
walkers (it is required in copy in, during add command); added -R (recursive)
flass to add command; allow vcs backends to augment statically ignored files
list; added detection of out of date working copy to bzr backend;
generate_walk_list() now takes a mandatory directory as the first argument;
don't copy entire subtree during copy of missing directory (as this makes
assumptions about what's in the walk-list)

Show diffs side-by-side

added added

removed removed

20
20
 
21
21
 
22
22
import filecmp, os, shutil
23
 
from .walker import Walker
 
23
from walker import Walker
24
24
from stdhome import the
25
25
from stdhome import util
26
26
 
31
31
        both of which are specialisations of this purpose.  See them for more
32
32
        information.  The report method, which can be overridden in derived classes,
33
33
        takes, in addition to the relative filename, a source file type, an
34
 
        operation, and a destination file type.  Valid file types are f (file), l
 
34
        operation, and a sestination file type.  Valid file types are f (file), l
35
35
        (symlink), d (directory) and _ (non-existant).  Valid operations are *
36
36
        (modify), = (skip: same), @ (skip: symlink substitute) and # (skip:
37
37
        ignored).
49
49
        def print_op( self, rel_file, src, op, dst ):
50
50
 
51
51
                # report changes
52
 
                if self.report and op == '*':
 
52
                if self.report and the.verbose < 2 and op == '*':
53
53
                        if dst == '_':
54
 
                                print(" N  %s" % ( rel_file ))
 
54
                                print " N  %s" % ( rel_file )
55
55
                        elif src == '_':
56
 
                                print(" D  %s" % ( rel_file ))
 
56
                                print " D  %s" % ( rel_file )
57
57
                        elif src == dst:
58
 
                                print(" M  %s" % ( rel_file ))
 
58
                                print " M  %s" % ( rel_file )
59
59
                        else:
60
 
                                print(" K  %s" % ( rel_file ))
 
60
                                print " K  %s" % ( rel_file )
61
61
 
62
62
 
63
63
        def process( self, rel_file, src, dst ):