info@shuvit.org 2 years ago
parent
commit
babab7b98d
2 changed files with 64 additions and 1 deletions
  1. 2
    1
      lib/FSM.py
  2. 62
    0
      lib/StatesProg.py

+ 2
- 1
lib/FSM.py View File

87
         'Reboot',
87
         'Reboot',
88
         'Ping', 
88
         'Ping', 
89
         'Wifi',
89
         'Wifi',
90
-        'Defender'
90
+        'Defender',
91
+        'Update'
91
         ]
92
         ]
92
         
93
         
93
         for s in state_list:
94
         for s in state_list:

+ 62
- 0
lib/StatesProg.py View File

14
 import random
14
 import random
15
 from pathlib import Path
15
 from pathlib import Path
16
 import socket
16
 import socket
17
+import git 
18
+
17
 #====================================     
19
 #====================================     
18
 
20
 
19
 State = type("State", (object,), {})
21
 State = type("State", (object,), {})
591
 		self.FSM.ToTransition('toSelTheme')		
593
 		self.FSM.ToTransition('toSelTheme')		
592
 	elif command == "Reboot":
594
 	elif command == "Reboot":
593
 		self.FSM.ToTransition('toReboot')		
595
 		self.FSM.ToTransition('toReboot')		
596
+	elif command == "Update":
597
+		self.FSM.ToTransition('toUpdate')	
594
 		#os.system("sudo reboot")
598
 		#os.system("sudo reboot")
595
 	elif command == "Shutdown":
599
 	elif command == "Shutdown":
596
 		self.FSM.ToTransition('toShutdown')		
600
 		self.FSM.ToTransition('toShutdown')		
2861
 		self.FSM.owner.pub.unregister("beat", self)        
2865
 		self.FSM.owner.pub.unregister("beat", self)        
2862
 
2866
 
2863
 #==================================== 
2867
 #==================================== 
2868
+#==================================== 
2869
+
2870
+
2871
+
2872
+class Update(State):
2873
+	def __init__(self,FSM):
2874
+		super(Update, self).__init__(FSM)    
2875
+		
2876
+	def Enter(self):
2877
+		
2878
+		o = self.FSM.owner 
2879
+		o.header_text = "Update"
2880
+		o.pub.register("beat", self)
2881
+		g = git.cmd.Git("/home/pi/zpc_ct/")
2882
+		self.msg = g.pull()
2883
+		if o.keyState[16] > 0 or o.keyState[17] > 0:
2884
+			pass
2885
+		else:
2886
+			draw_header(o)
2887
+			o.update_display(0)
2888
+		super(Update, self).Enter()        
2889
+		
2890
+	def Execute(self):
2891
+		o = self.FSM.owner 
2892
+		menu1_actions(self, o)
2893
+		if o.keyState[16] == 1:
2894
+			draw_menu1(o)
2895
+			o.update_display(0)
2896
+		elif o.keyState[16] == 4:
2897
+			draw_header(o)
2898
+			#self.draw_footer(o)
2899
+			self.draw_main(o)
2900
+			o.update_display(0)
2901
+
2902
+		if o.keyState[0] == 1 or o.keyState[0] == 3 or o.keyState[1] == 1 or o.keyState[1] == 3 or o.keyState[2] == 1 or o.keyState[2] == 3 or o.keyState[3] == 1 or o.keyState[3] == 3:
2903
+			draw_header(o)
2904
+			#self.draw_footer(o)
2905
+			self.draw_main(o)
2906
+			o.update_display(0)	
2907
+
2908
+		if o.keyState[16] > 0 or o.keyState[17] > 0:
2909
+			pass
2910
+		else:			
2911
+			pass
2912
+			#o.update_display(0)
2913
+	
2914
+	def draw_main(self, o):
2915
+		#o.center_text(self.msg, o.h1, o.width, 25, o.light_grey)
2916
+		o.center_block(self.msg, o.h2, [0, 0, o.width, o.height], o.light_grey)
2917
+
2918
+	def ReceiveMessage(self, message):
2919
+		o = self.FSM.owner 
2920
+		play_seq(o, message)
2921
+		
2922
+	def Exit(self):
2923
+		self.FSM.owner.pub.unregister("beat", self)        
2924
+
2925
+#==================================== 

Loading…
Cancel
Save