/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 olive/frontend/gtk/__init__.py

  • Committer: Szilveszter Farkas (Phanatic)
  • Date: 2006-08-20 14:01:33 UTC
  • mto: (0.14.1 main) (93.1.1 win32.bialix)
  • mto: This revision was merged to the branch mainline in revision 83.
  • Revision ID: Szilveszter.Farkas@gmail.com-20060820140133-3b3e5fe5c0d46f7e
Handle permission denied exceptions properly.

2006-08-20  Szilveszter Farkas <Szilveszter.Farkas@gmail.com>

    * olive/frontend/gtk/__init__.py: proper handling of permission denied cases
    * olive/backend/info.py: handle permission denied exception in is_branch()
    * olive/backend/fileops.py: handle permission denied exception in status()
    * olive/backend/errors.py: added PermissionDenied exception

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
 
34
34
from handler import OliveHandler
35
35
from olive.backend.info import is_branch
 
36
import olive.backend.errors as errors
36
37
 
37
38
# Olive GTK UI version
38
39
__version__ = '0.1'
191
192
        for item in dirs:    
192
193
            liststore.append([gtk.STOCK_DIRECTORY, item, ''])
193
194
        for item in files:
194
 
            status = fileops.status(path + '/' + item)
 
195
            try:
 
196
                status = fileops.status(path + '/' + item)
 
197
            except errors.PermissionDenied:
 
198
                continue
 
199
            
195
200
            if status == 'renamed':
196
201
                st = _('renamed')
197
202
            elif status == 'removed':
224
229
        tvcolumn_status.add_attribute(cell, 'text', 2)
225
230
        
226
231
        # Check if current directory is a branch
227
 
        if is_branch(self.comm.get_path()):
228
 
            self.comm.menuitem_branch.set_sensitive(True)
229
 
            self.comm.menuitem_stats.set_sensitive(True)
230
 
            self.comm.menuitem_add_files.set_sensitive(True)
231
 
            self.comm.menuitem_remove_files.set_sensitive(True)
232
 
            self.comm.menuitem_file_make_directory.set_sensitive(True)
233
 
            self.comm.menuitem_file_rename.set_sensitive(True)
234
 
            self.comm.menuitem_file_move.set_sensitive(True)
235
 
            self.comm.menutoolbutton_diff.set_sensitive(True)
236
 
            self.comm.toolbutton_log.set_sensitive(True)
237
 
            self.comm.toolbutton_commit.set_sensitive(True)
238
 
            self.comm.toolbutton_pull.set_sensitive(True)
239
 
            self.comm.toolbutton_push.set_sensitive(True)
 
232
        try:
 
233
            br = is_branch(self.comm.get_path())
 
234
        except errors.PermissionDenied:
 
235
            pass
240
236
        else:
241
 
            self.comm.menuitem_branch.set_sensitive(False)
242
 
            self.comm.menuitem_stats.set_sensitive(False)
243
 
            self.comm.menuitem_add_files.set_sensitive(False)
244
 
            self.comm.menuitem_remove_files.set_sensitive(False)
245
 
            self.comm.menuitem_file_make_directory.set_sensitive(False)
246
 
            self.comm.menuitem_file_rename.set_sensitive(False)
247
 
            self.comm.menuitem_file_move.set_sensitive(False)
248
 
            self.comm.menutoolbutton_diff.set_sensitive(False)
249
 
            self.comm.toolbutton_log.set_sensitive(False)
250
 
            self.comm.toolbutton_commit.set_sensitive(False)
251
 
            self.comm.toolbutton_pull.set_sensitive(False)
252
 
            self.comm.toolbutton_push.set_sensitive(False)
 
237
            if br:
 
238
                # Activate some items
 
239
                self.comm.menuitem_branch.set_sensitive(True)
 
240
                self.comm.menuitem_stats.set_sensitive(True)
 
241
                self.comm.menuitem_add_files.set_sensitive(True)
 
242
                self.comm.menuitem_remove_files.set_sensitive(True)
 
243
                self.comm.menuitem_file_make_directory.set_sensitive(True)
 
244
                self.comm.menuitem_file_rename.set_sensitive(True)
 
245
                self.comm.menuitem_file_move.set_sensitive(True)
 
246
                self.comm.menutoolbutton_diff.set_sensitive(True)
 
247
                self.comm.toolbutton_log.set_sensitive(True)
 
248
                self.comm.toolbutton_commit.set_sensitive(True)
 
249
                self.comm.toolbutton_pull.set_sensitive(True)
 
250
                self.comm.toolbutton_push.set_sensitive(True)
 
251
            else:
 
252
                # Deactivate some items
 
253
                self.comm.menuitem_branch.set_sensitive(False)
 
254
                self.comm.menuitem_stats.set_sensitive(False)
 
255
                self.comm.menuitem_add_files.set_sensitive(False)
 
256
                self.comm.menuitem_remove_files.set_sensitive(False)
 
257
                self.comm.menuitem_file_make_directory.set_sensitive(False)
 
258
                self.comm.menuitem_file_rename.set_sensitive(False)
 
259
                self.comm.menuitem_file_move.set_sensitive(False)
 
260
                self.comm.menutoolbutton_diff.set_sensitive(False)
 
261
                self.comm.toolbutton_log.set_sensitive(False)
 
262
                self.comm.toolbutton_commit.set_sensitive(False)
 
263
                self.comm.toolbutton_pull.set_sensitive(False)
 
264
                self.comm.toolbutton_push.set_sensitive(False)
253
265
        
254
266
        # set cursor to default
255
267
        self.comm.set_busy(self.treeview_right, False)
395
407
        for item in dirs:    
396
408
            liststore.append([gtk.STOCK_DIRECTORY, item, ''])
397
409
        for item in files:
398
 
            status = fileops.status(path + '/' + item)
 
410
            try:
 
411
                status = fileops.status(path + '/' + item)
 
412
            except errors.PermissionDenied:
 
413
                continue
 
414
            
399
415
            if status == 'renamed':
400
416
                st = _('renamed')
401
417
            elif status == 'removed':
414
430
        self.treeview_right.set_model(liststore)
415
431
        
416
432
        # Check if current directory is a branch
417
 
        if is_branch(self.get_path()):
418
 
            # Activate some items
419
 
            self.menuitem_branch.set_sensitive(True)
420
 
            self.menuitem_stats.set_sensitive(True)
421
 
            self.menuitem_add_files.set_sensitive(True)
422
 
            self.menuitem_remove_files.set_sensitive(True)
423
 
            self.menuitem_file_make_directory.set_sensitive(True)
424
 
            self.menuitem_file_rename.set_sensitive(True)
425
 
            self.menuitem_file_move.set_sensitive(True)
426
 
            self.menutoolbutton_diff.set_sensitive(True)
427
 
            self.toolbutton_log.set_sensitive(True)
428
 
            self.toolbutton_commit.set_sensitive(True)
429
 
            self.toolbutton_pull.set_sensitive(True)
430
 
            self.toolbutton_push.set_sensitive(True)
 
433
        try:
 
434
            br = is_branch(self.get_path())
 
435
        except errors.PermissionDenied:
 
436
            pass
431
437
        else:
432
 
            # Deactivate some items
433
 
            self.menuitem_branch.set_sensitive(False)
434
 
            self.menuitem_stats.set_sensitive(False)
435
 
            self.menuitem_add_files.set_sensitive(False)
436
 
            self.menuitem_remove_files.set_sensitive(False)
437
 
            self.menuitem_file_make_directory.set_sensitive(False)
438
 
            self.menuitem_file_rename.set_sensitive(False)
439
 
            self.menuitem_file_move.set_sensitive(False)
440
 
            self.menutoolbutton_diff.set_sensitive(False)
441
 
            self.toolbutton_log.set_sensitive(False)
442
 
            self.toolbutton_commit.set_sensitive(False)
443
 
            self.toolbutton_pull.set_sensitive(False)
444
 
            self.toolbutton_push.set_sensitive(False)
 
438
            if br:
 
439
                # Activate some items
 
440
                self.menuitem_branch.set_sensitive(True)
 
441
                self.menuitem_stats.set_sensitive(True)
 
442
                self.menuitem_add_files.set_sensitive(True)
 
443
                self.menuitem_remove_files.set_sensitive(True)
 
444
                self.menuitem_file_make_directory.set_sensitive(True)
 
445
                self.menuitem_file_rename.set_sensitive(True)
 
446
                self.menuitem_file_move.set_sensitive(True)
 
447
                self.menutoolbutton_diff.set_sensitive(True)
 
448
                self.toolbutton_log.set_sensitive(True)
 
449
                self.toolbutton_commit.set_sensitive(True)
 
450
                self.toolbutton_pull.set_sensitive(True)
 
451
                self.toolbutton_push.set_sensitive(True)
 
452
            else:
 
453
                # Deactivate some items
 
454
                self.menuitem_branch.set_sensitive(False)
 
455
                self.menuitem_stats.set_sensitive(False)
 
456
                self.menuitem_add_files.set_sensitive(False)
 
457
                self.menuitem_remove_files.set_sensitive(False)
 
458
                self.menuitem_file_make_directory.set_sensitive(False)
 
459
                self.menuitem_file_rename.set_sensitive(False)
 
460
                self.menuitem_file_move.set_sensitive(False)
 
461
                self.menutoolbutton_diff.set_sensitive(False)
 
462
                self.toolbutton_log.set_sensitive(False)
 
463
                self.toolbutton_commit.set_sensitive(False)
 
464
                self.toolbutton_pull.set_sensitive(False)
 
465
                self.toolbutton_push.set_sensitive(False)
445
466
        
446
467
        self.set_busy(self.treeview_right, False)
447
468