/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
65
69
                        elif opt in [ '--verbose', '-v' ]:
66
70
                                the.verbose += 1
67
71
                        elif opt == "--help":
68
72
                                self.print_help()
69
 
 
 
73
                
70
74
                # discard first argument (the command)
71
75
                args.pop( 0 )
72
76
 
77
81
        def run( self ):
78
82
 
79
83
                # set up repo and check it exists
 
84
                the.set_repo( self.repo )
80
85
                the.repo.check_dir_exists()
81
86
 
82
87
                # determine files
101
106
                # call colordiff
102
107
                for file in walker.modified:
103
108
                        print ( "\033[33m=== modified '%s'\n" % file ).rstrip()
104
 
                        sys.stdout.flush()
105
109
                        call( [ 'colordiff', '-ud',
106
110
                                        '--label', file,
107
111
                                        os.path.join( the.repo.full_dir, file ),