/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/command/diff.py

  • Committer: Tim Marston
  • Date: 2014-03-09 01:56:01 UTC
  • Revision ID: tim@ed.am-20140309015601-ptqyjqrngb7i6dmj
changed use of python

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
class DiffCommand( Command ):
31
31
 
32
32
 
 
33
        def __init__( self ):
 
34
                self.repo = None
 
35
 
 
36
 
33
37
        def print_help( self ):
34
38
                print "Usage: " + the.program.name + " diff [--repo=REPO] [FILE]..."
35
39
                print
58
62
                        [ "repo=", "verbose", "help" ] )
59
63
                for opt, optarg in opts:
60
64
                        if opt in [ '--repo', '-r' ]:
61
 
                                if not re.search( '^[-a-zA-z0-9.]+$', optarg ):
 
65
                                if not re.match( '^[-a-zA-z0-9.]+$', optarg ):
62
66
                                        raise the.program.FatalError(
63
67
                                                'invalid repository name: ' + optarg )
64
 
                                the.repo = optarg
 
68
                                self.repo = optarg
 
69
                        elif opt in [ '--verbose', '-v' ]:
 
70
                                the.verbose += 1
65
71
                        elif opt == "--help":
66
72
                                self.print_help()
67
 
 
 
73
                
68
74
                # discard first argument (the command)
69
75
                args.pop( 0 )
70
76
 
75
81
        def run( self ):
76
82
 
77
83
                # set up repo and check it exists
 
84
                the.set_repo( self.repo )
78
85
                the.repo.check_dir_exists()
79
86
 
80
87
                # determine files
99
106
                # call colordiff
100
107
                for file in walker.modified:
101
108
                        print ( "\033[33m=== modified '%s'\n" % file ).rstrip()
102
 
                        sys.stdout.flush()
103
109
                        call( [ 'colordiff', '-ud',
104
110
                                        '--label', file,
105
111
                                        os.path.join( the.repo.full_dir, file ),