The unified diff between revisions [41373c81..] and [82a5fa7a..] is displayed below. It can also be downloaded as a raw diff.

#
#
# rename "Interface.py"
#     to "SystemInterface.py"
#
# add_file "States.py"
#  content [f342a1933abc18b51ad53238ca50ee7adc5e79e9]
#
# patch "System.py"
#  from [b91fd670acecedaad766759580de503c9680396c]
#    to [40ec4696d5b4c15247e995b47efddd389d7809a5]
#
# patch "SystemInterface.py"
#  from [0c32ee61ae64ddd82439e877643b1cf89498d704]
#    to [27e54349b01222397d75b1bbcc7493e34e39a133]
#
# patch "fourstar.py"
#  from [4b069c1b4aa53503b413de9f9601fdc2365f04ff]
#    to [6e0ab1c57aada2e841a7cb8a120654e2afd81176]
#
============================================================
--- States.py	f342a1933abc18b51ad53238ca50ee7adc5e79e9
+++ States.py	f342a1933abc18b51ad53238ca50ee7adc5e79e9
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+
+
+#DOOR = 1
+#KEY = 3
+TICK = 4
+
+(
+STATE_IDLE,
+STATE_DOOR_OPENING,
+STATE_DOOR_CLOSING,
+STATE_GETTING_UID,
+STATE_GETTING_PIN,
+STATE_GET_SELECTION,
+STATE_GRANDFATHER_CLOCK,
+) = range(1,8)
+
============================================================
--- System.py	b91fd670acecedaad766759580de503c9680396c
+++ System.py	40ec4696d5b4c15247e995b47efddd389d7809a5
@@ -13,12 +13,8 @@ from time import time, sleep
 # Store as a shelf

 from time import time, sleep
+from States import *

-#FOO#DOOR = 1
-#FOO#SWITCH = 2
-#FOO#KEY = 3
-TICK = 4
-
 class System:
 	def __init__(self):
 		#VS
============================================================
--- Interface.py	0c32ee61ae64ddd82439e877643b1cf89498d704
+++ SystemInterface.py	27e54349b01222397d75b1bbcc7493e34e39a133
@@ -1,27 +1,35 @@
 #!/usr/bin/env python

-# Interface.py
+# SystemInterface.py

 # Utilities associated with command line UI

 import sys

-def fourstar_prompt(state, event, params, v, vstatus):
-	sys.stdout.write("fourstar> ")
-	vstatus.change_state(state, vstatus.counter + 1)
+class SystemInterface:
+	def _init_(self):
+		self.input = None

-def chart_prompt(state, event, params, v, vstatus):
-	sys.stdout.write("fourstar-chart> ")
-	vstatus.change_state(state, vstatus.counter + 1)
+	def fourstar_prompt(self, state, event, params, v, vstatus):
+		sys.stdout.write("fourstar> ")
+		vstatus.change_state(state, vstatus.counter + 1)
+	def command_input(self, state, event, params, v, vstatus):
+		self.input = sys.stdin.readline()
+		vstatus.change_state(state, vstatus.counter + 1)
+
+	def parse_input(self, state, event, params, v, vstatus):
+		sys.stdout.write(self.input)
+		vstatus.change_state(state, 1)

-def ledger_prompt(state, event, params, v, vstatus):
-	sys.stdout.write("fourstar-ledger> ")
-	vstatus.change_state(state, vstatus.counter + 1)
+#	def chart_prompt(self, state, event, params, v, vstatus):
+#		sys.stdout.write("fourstar-chart> ")
+#		vstatus.change_state(state, vstatus.counter + 1)
+#
+#	def ledger_prompt(self, state, event, params, v, vstatus):
+#		sys.stdout.write("fourstar-ledger> ")
+#		vstatus.change_state(state, vstatus.counter + 1)
+#
+#	def journal_prompt(self, state, event, params, v, vstatus):
+#		sys.stdout.write("fourstar-journal> ")
+#		vstatus.change_state(state, vstatus.counter + 1)

-def journal_prompt(state, event, params, v, vstatus):
-	sys.stdout.write("fourstar-journal> ")
-	vstatus.change_state(state, vstatus.counter + 1)
-
-def command_input(state, event, params, v, vstatus):
-	foo = sys.stdin.readline()
-	vstatus.change_state(state, 1)
============================================================
--- fourstar.py	4b069c1b4aa53503b413de9f9601fdc2365f04ff
+++ fourstar.py	6e0ab1c57aada2e841a7cb8a120654e2afd81176
@@ -31,7 +31,8 @@ from Store import Store

 from System import System
 from Store import Store
-from Interface import *
+from SystemInterface import SystemInterface
+from States import *

 #

@@ -51,20 +52,7 @@ from time import time, sleep, mktime, lo
 from traceback import format_tb
 from time import time, sleep, mktime, localtime

-#DOOR = 1
-#KEY = 3
-TICK = 4

-(
-STATE_IDLE,
-STATE_DOOR_OPENING,
-STATE_DOOR_CLOSING,
-STATE_GETTING_UID,
-STATE_GETTING_PIN,
-STATE_GET_SELECTION,
-STATE_GRANDFATHER_CLOCK,
-) = range(1,8)
-
 class FS_State:
 	def __init__(self,v):
 		self.state_table = {}
@@ -100,9 +88,11 @@ def create_state_table(vstatus):
 	pass

 def create_state_table(vstatus):
-	vstatus.state_table[(STATE_IDLE,TICK,1)] = fourstar_prompt
-	vstatus.state_table[(STATE_IDLE,TICK,2)] = command_input
-	vstatus.state_table[(STATE_IDLE,TICK,3)] = do_nothing
+	si = SystemInterface()
+
+	vstatus.state_table[(STATE_IDLE,TICK,1)] = si.fourstar_prompt
+	vstatus.state_table[(STATE_IDLE,TICK,2)] = si.command_input
+	vstatus.state_table[(STATE_IDLE,TICK,3)] = si.parse_input
 #	vstatus.state_table[(STATE_IDLE,KEY,1)] = do_nothing
 #	vstatus.state_table[(STATE_IDLE,DOOR,1)] = do_nothing
 #