~mrooney/ecryptfs/nautilus-integration

« back to all changes in this revision

Viewing changes to src/python/panelcontroller.py

  • Committer: Michael Rooney
  • Date: 2009-05-26 23:54:55 UTC
  • Revision ID: mrooney@ubuntu.com-20090526235455-a0dn5fkakvl3l2oc
initial add of nautilus work

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
#
3
 
#    panelcontroller.py, Copyright 2009 Mike Rooney (https://launchpad.net/~mrooney)
4
 
#    Date: 2009-04-25
5
 
#
6
 
#    This program is free software: you can redistribute it and/or modify
7
 
#    it under the terms of the GNU General Public License as published by
8
 
#    the Free Software Foundation, either version 3 of the License, or
9
 
#    (at your option) any later version.
10
 
#
11
 
#    This program is distributed in the hope that it will be useful,
12
 
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 
#    GNU General Public License for more details.
15
 
#
16
 
#    You should have received a copy of the GNU General Public License
17
 
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 
 
19
 
class PanelController:
20
 
    def __init__(self, showinstall, showsetup, showmanage):
21
 
        self.installCallback = showinstall
22
 
        self.setupCallback = showsetup
23
 
        self.manageCallback = showmanage
24
 
        
25
 
    def showAppropriateStep(self):
26
 
        # Do we have the ecryptapi installed yet?
27
 
        try:
28
 
            from ecryptfs import ecryptapi
29
 
        except ImportError:
30
 
            ecryptapi = None
31
 
            
32
 
        # Now show the appropriate panel.
33
 
        if ecryptapi is None:
34
 
            self.installCallback()
35
 
        elif ecryptapi.needs_setup():
36
 
            self.setupCallback()
37
 
        else:
38
 
            self.manageCallback()