~doctormo/django-deployer/trunk

« back to all changes in this revision

Viewing changes to modeploy/interface.py

  • Committer: Martin Owens (DoctorMO)
  • Date: 2008-07-19 05:15:08 UTC
  • Revision ID: doctormo@gmail.com-20080719051508-wumlnxq5j9dr0jbt
Commit another brace of fixes to the builder and deployer

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
rootUser = ( os.getuid() == 0 )
6
6
 
7
 
def askQuestions(qs, defaults={}, results={}, fill_only=False):
 
7
def rootRequired():
 
8
        if not rootUser:
 
9
                sys.stderr.write("You must be root to run '%s'\n" % sys.argv[0])
 
10
                sys.exit()
 
11
 
 
12
 
 
13
def askQuestions(qs, defaults={}, results={}, fill_empty=False):
8
14
        """
9
15
        Asks multiple questions from the user and collects the results
10
16
        As a dictionary. using the form:
18
24
                if q.has_key('type'):
19
25
                        type = q.pop('type')
20
26
 
21
 
                if not fill_only or not results.has_key(id):
 
27
                if not fill_empty or not results.has_key(id):
22
28
                        if defaults.has_key(id):
23
29
                                q['default'] = defaults[id]
24
30
                
73
79
        return data
74
80
 
75
81
 
76
 
def askYesNo(question, default="n", id=None):
77
 
        ans = askForString(question, default, id)
 
82
def askYesNo(label, default="n", id=None):
 
83
        ans = askForString(label, default, id)
78
84
        if ans.lower()[0] == 'y' or ans.lower() == 'true' or ans == '1':
79
85
                return True
80
86
        return False
81
87
 
82
88
 
83
 
def askQuestion(question, options, default=0, id=None, null=False, asked=False):
 
89
def askQuestion(label, options, default=0, id=None, null=False, asked=False):
84
90
        answers = ''
85
91
        index   = 0
86
92
        labels  = options
92
98
                for option in labels:
93
99
                        answers += "  %d. %s\n" % (index, option)
94
100
                        index += 1
95
 
        ans = askForString("\n" + question + "\n\n" + answers, default, id, null)
 
101
        ans = askForString("\n" + label + "\n\n" + answers, default, id, null)
96
102
        if ans in values:
97
103
                return ans
98
104
        elif ans in labels:
106
112
        except:
107
113
                pass
108
114
        sys.stderr.write("Please choose from the options provided. %d isn't valid\n" % ans )
109
 
        return askQuestion(question, options, default, id, null, asked=True)
 
115
        return askQuestion(label, options, default, id, null, asked=True)
110
116
 
111
117
 
112
118
def askForPassword(label, id=None, null=False):