/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/status.py

  • Committer: Tim Marston
  • Date: 2014-04-04 22:28:49 UTC
  • Revision ID: tim@ed.am-20140404222849-32apy1i949qaq2na
walker now passes Walker.File objects to process(), which includes file name,
type and the type of file it points to when it's a symlink

Show diffs side-by-side

added added

removed removed

45
45
                self.changed = list()
46
46
 
47
47
 
48
 
        def process( self, rel_file, src_file, src_type, dst_file, dst_type ):
 
48
        def process( self, rel_file, src, dst ):
49
49
 
50
50
                # entity is missing in home dir?
51
 
                if dst_type == '_':
 
51
                if dst.type == '_':
52
52
                        self.missing.append( rel_file )
53
53
 
54
54
                        # if a directory is missing in the home dir, we only really want to
57
57
                        return False
58
58
 
59
59
                # entity has changed type?
60
 
                elif dst_type != src_type:
61
 
                        self.changed.append( "%s (%s => %s)" % ( rel_file,
62
 
                                self.name_of_type( src_type ), self.name_of_type( dst_type ) )
 
60
                elif dst.get_type_name() != src.get_type_name():
 
61
                        self.changed.append( "%s (%s => %s)" % (
 
62
                                rel_file, src.get_type_name(), dst.get_type_name() ) )
63
63
 
64
64
                        # if an entity has changed to/from a directory, we don't care about
65
65
                        # anything that directory does/did contain
67
67
 
68
68
                # entity has been modified?
69
69
                # TODO: check directory permission changes
70
 
                if src_type == 'f':
71
 
                        if not filecmp.cmp( src_file, dst_file ):
 
70
                if src.type == 'f':
 
71
                        if not filecmp.cmp( src.file, dst.file ):
72
72
                                self.modified.append( rel_file )
73
 
                elif dst_type == 'l':
74
 
                        if os.readlink( src_file ) != os.readlink( dst_file ):
 
73
                elif dst.type == 'l':
 
74
                        if os.readlink( src.file ) != os.readlink( dst.file ):
75
75
                                self.modified.append( rel_file )
76
76
 
77
77
                # nothing to see here