Subversion Repositories programming

Rev

Rev 395 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 395 Rev 397
Line 2... Line 2...
2
 
2
 
3
__author__    = "Ira W. Snyder (devel@irasnyder.com)"
3
__author__    = "Ira W. Snyder (devel@irasnyder.com)"
4
__copyright__ = "Copyright (c) 2006 Ira W. Snyder (devel@irasnyder.com)"
4
__copyright__ = "Copyright (c) 2006 Ira W. Snyder (devel@irasnyder.com)"
5
__license__   = "GNU GPL v2 (or, at your option, any later version)"
5
__license__   = "GNU GPL v2 (or, at your option, any later version)"
6
 
6
 
7
# Fix for the lame version of python on the school's computers (v2.1)
7
from PyCompat import * # fixes for school computers
8
try:
-
 
9
	(True, False)
-
 
10
except NameError:
-
 
11
	(True, False) = (1, 0)
-
 
12
 
-
 
13
def bfs ():
-
 
14
	print 'in bfs'
-
 
15
 
-
 
16
def dfs ():
-
 
17
	print 'in dfs'
-
 
18
 
-
 
19
def enter_data ():
-
 
20
	print 'in enter data'
-
 
21
 
8
 
22
def getstr (prompt):
9
def getstr (prompt):
23
	return raw_input (prompt + ': ')
10
	return raw_input (prompt + ': ')
24
 
11
 
25
class MenuEntry:
12
class MenuEntry (object):
26
 
13
 
27
	def __init__ (self, key, prompt, callback_func, hidden=False):
14
	def __init__ (self, key, prompt, callback_func, hidden=False):
28
		self.key = key
15
		self.key = key
29
		self.prompt = prompt
16
		self.prompt = prompt
30
		self.callback_func = callback_func
17
		self.callback_func = callback_func
31
		self.hidden = hidden
18
		self.hidden = hidden
32
 
19
 
33
class Menu:
20
class Menu (object):
34
 
21
 
35
	def __init__ (self, entries=None, autorun=False):
22
	def __init__ (self, entries=None, autorun=False):
36
		if not entries:
23
		if not entries:
37
			self.entries = []
24
			self.entries = []
38
		else:
25
		else:
Line 97... Line 84...
97
 
84
 
98
import sys
85
import sys
99
 
86
 
100
def main ():
87
def main ():
101
	m = Menu ()
88
	m = Menu ()
102
	m.add_entry (1, 'Run DFS', dfs)
89
	m.add_entry (1, 'Run DFS', lambda: 'in dfs')
103
	m.add_entry (2, 'Run BFS', bfs)
90
	m.add_entry (2, 'Run BFS', lambda: 'in bfs')
104
	m.add_entry (3, 'Enter Data', enter_data)
91
	m.add_entry (3, 'Enter Data', lambda: 'enter data')
105
	m.add_entry ('Q', 'Quit', sys.exit)
92
	m.add_entry ('Q', 'Quit', sys.exit)
106
 
93
 
107
	stat = m.run_menu ()
94
	stat = m.run_menu ()
108
	print 'stat:', stat
95
	print 'stat:', stat
109
 
96
 
110
if __name__ == '__main__':
97
if __name__ == '__main__':
111
	main ()
98
	main ()
-
 
99