/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: 2016-02-23 19:35:21 UTC
  • Revision ID: tim@ed.am-20160223193521-2vgtxbfos50rrpku
renamed version -> VERSION

Show diffs side-by-side

added added

removed removed

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