/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to __init__.py

  • Committer: Aaron Bentley
  • Date: 2007-01-17 06:42:55 UTC
  • mto: This revision was merged to the branch mainline in revision 129.
  • Revision ID: aaron.bentley@utoronto.ca-20070117064255-x4gznz5e0lyjq3gk
Remove usused span selector

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
 
15
15
"""GTK+ frontends to Bazaar commands """
16
16
 
17
 
import bzrlib
18
 
 
19
 
__version__ = '0.15.0'
20
 
version_info = tuple(int(n) for n in __version__.split('.'))
21
 
 
22
 
 
23
 
def check_bzrlib_version(desired):
24
 
    """Check that bzrlib is compatible.
25
 
 
26
 
    If version is < bzr-gtk version, assume incompatible.
27
 
    If version == bzr-gtk version, assume completely compatible
28
 
    If version == bzr-gtk version + 1, assume compatible, with deprecations
29
 
    Otherwise, assume incompatible.
30
 
    """
31
 
    desired_plus = (desired[0], desired[1]+1)
32
 
    bzrlib_version = bzrlib.version_info[:2]
33
 
    if bzrlib_version == desired:
34
 
        return
35
 
    try:
36
 
        from bzrlib.trace import warning
37
 
    except ImportError:
38
 
        # get the message out any way we can
39
 
        from warnings import warn as warning
40
 
    if bzrlib_version < desired:
41
 
        warning('Installed bzr version %s is too old to be used with bzr-gtk'
42
 
                ' %s.' % (bzrlib.__version__, __version__))
43
 
        # Not using BzrNewError, because it may not exist.
44
 
        raise Exception, ('Version mismatch', version_info)
45
 
    else:
46
 
        warning('bzr-gtk is not up to date with installed bzr version %s.'
47
 
                ' \nThere should be a newer version available, e.g. %i.%i.' 
48
 
                % (bzrlib.__version__, bzrlib_version[0], bzrlib_version[1]))
49
 
        if bzrlib_version != desired_plus:
50
 
            raise Exception, 'Version mismatch'
51
 
 
52
 
 
53
 
check_bzrlib_version(version_info[:2])
54
 
 
55
 
from bzrlib.trace import warning
56
 
if __name__ != 'bzrlib.plugins.gtk':
57
 
    warning("Not running as bzrlib.plugins.gtk, things may break.")
58
 
 
59
17
from bzrlib import errors
60
18
from bzrlib.commands import Command, register_command, display_command
61
19
from bzrlib.errors import NotVersionedError, BzrCommandError, NoSuchFile
65
23
from bzrlib.workingtree import WorkingTree
66
24
from bzrlib.bzrdir import BzrDir
67
25
 
68
 
import os.path
69
 
 
70
 
def import_pygtk():
71
 
    try:
72
 
        import pygtk
73
 
    except ImportError:
74
 
        raise errors.BzrCommandError("PyGTK not installed.")
75
 
    pygtk.require('2.0')
76
 
    return pygtk
77
 
 
78
 
 
79
 
def set_ui_factory():
80
 
    pygtk = import_pygtk()
81
 
    from ui import GtkUIFactory
82
 
    import bzrlib.ui
83
 
    bzrlib.ui.ui_factory = GtkUIFactory()
84
 
 
 
26
__version__ = '0.13.0'
85
27
 
86
28
class cmd_gbranch(Command):
87
29
    """GTK+ branching.
89
31
    """
90
32
 
91
33
    def run(self):
92
 
        pygtk = import_pygtk()
 
34
        import pygtk
 
35
        pygtk.require("2.0")
93
36
        try:
94
37
            import gtk
95
38
        except RuntimeError, e:
96
39
            if str(e) == "could not open display":
97
40
                raise NoDisplayError
98
41
 
99
 
        from bzrlib.plugins.gtk.branch import BranchDialog
 
42
        from bzrlib.plugins.gtk.olive.branch import BranchDialog
100
43
 
101
 
        set_ui_factory()
102
 
        dialog = BranchDialog(os.path.abspath('.'))
103
 
        dialog.run()
 
44
        window = BranchDialog('.')
 
45
        window.display()
104
46
 
105
47
register_command(cmd_gbranch)
106
48
 
107
 
class cmd_gcheckout(Command):
108
 
    """ GTK+ checkout.
109
 
    
110
 
    """
111
 
    
112
 
    def run(self):
113
 
        pygtk = import_pygtk()
114
 
        try:
115
 
            import gtk
116
 
        except RuntimeError, e:
117
 
            if str(e) == "could not open display":
118
 
                raise NoDisplayError
119
 
 
120
 
        from bzrlib.plugins.gtk.checkout import CheckoutDialog
121
 
 
122
 
        set_ui_factory()
123
 
        dialog = CheckoutDialog(os.path.abspath('.'))
124
 
        dialog.run()
125
 
 
126
 
register_command(cmd_gcheckout)
127
 
 
128
 
class cmd_gpush(Command):
129
 
    """ GTK+ push.
130
 
    
131
 
    """
132
 
    takes_args = [ "location?" ]
133
 
    
134
 
    def run(self, location="."):
135
 
        (branch, path) = Branch.open_containing(location)
136
 
        
137
 
        pygtk = import_pygtk()
138
 
        try:
139
 
            import gtk
140
 
        except RuntimeError, e:
141
 
            if str(e) == "could not open display":
142
 
                raise NoDisplayError
143
 
 
144
 
        from push import PushDialog
145
 
 
146
 
        set_ui_factory()
147
 
        dialog = PushDialog(branch)
148
 
        dialog.run()
149
 
 
150
 
register_command(cmd_gpush)
151
 
 
152
49
class cmd_gdiff(Command):
153
50
    """Show differences in working tree in a GTK+ Window.
154
51
    
159
56
 
160
57
    @display_command
161
58
    def run(self, revision=None, filename=None):
162
 
        set_ui_factory()
163
59
        wt = WorkingTree.open_containing(".")[0]
164
60
        branch = wt.branch
165
61
        if revision is not None:
176
72
            tree1 = wt
177
73
            tree2 = tree1.basis_tree()
178
74
 
179
 
        from viz.diff import DiffWindow
 
75
        from viz.diffwin import DiffWindow
180
76
        import gtk
181
77
        window = DiffWindow()
182
78
        window.connect("destroy", lambda w: gtk.main_quit())
214
110
    aliases = [ "visualize", "vis", "viz" ]
215
111
 
216
112
    def run(self, location=".", revision=None, limit=None):
217
 
        set_ui_factory()
218
113
        (branch, path) = Branch.open_containing(location)
219
114
        branch.lock_read()
220
115
        branch.repository.lock_read()
255
150
    aliases = ["gblame", "gpraise"]
256
151
    
257
152
    def run(self, filename, all=False, plain=False, line='1', revision=None):
258
 
        pygtk = import_pygtk()
 
153
        import pygtk
 
154
        pygtk.require("2.0")
259
155
 
260
156
        try:
261
157
            import gtk
262
158
        except RuntimeError, e:
263
159
            if str(e) == "could not open display":
264
160
                raise NoDisplayError
265
 
        set_ui_factory()
266
161
 
267
162
        try:
268
163
            line = int(line)
313
208
 
314
209
    Graphical user interface for committing revisions"""
315
210
    
316
 
    aliases = [ "gci" ]
317
211
    takes_args = []
318
212
    takes_options = []
319
213
 
320
214
    def run(self, filename=None):
321
215
        import os
322
 
        pygtk = import_pygtk()
 
216
        import pygtk
 
217
        pygtk.require("2.0")
323
218
 
324
219
        try:
325
220
            import gtk
327
222
            if str(e) == "could not open display":
328
223
                raise NoDisplayError
329
224
 
330
 
        set_ui_factory()
331
 
        from commit import CommitDialog
 
225
        from olive.commit import CommitDialog
332
226
        from bzrlib.commit import Commit
333
227
        from bzrlib.errors import (BzrCommandError,
334
228
                                   NotBranchError,
351
245
            except NotBranchError, e:
352
246
                path = e.path
353
247
 
354
 
 
355
 
        commit = CommitDialog(wt, path, not branch)
356
 
        commit.run()
 
248
        dialog = CommitDialog(wt, path, not branch)
 
249
        if dialog.display():
 
250
            dialog.window.connect("destroy", lambda w: gtk.main_quit())
 
251
            gtk.main()
357
252
 
358
253
register_command(cmd_gcommit)
359
254
 
361
256
    """gtk could not find a proper display"""
362
257
 
363
258
    def __str__(self):
364
 
        return "No DISPLAY. Unable to run GTK+ application."
365
 
 
366
 
def test_suite():
367
 
    from unittest import TestSuite
368
 
    import tests
369
 
    result = TestSuite()
370
 
    result.addTest(tests.test_suite())
371
 
    return result
 
259
        return "No DISPLAY. gannotate is disabled."