Преглед изворни кода

isolate read ops into single interface

etisab пре 10 година
родитељ
комит
b731e6899c
4 измењених фајлова са 66 додато и 24 уклоњено
  1. 4 14
      rebuild/main.lua
  2. 53 0
      rebuild/read.lua
  3. 9 10
      rebuild/server.lua
  4. 0 0
      rebuild/write.lua

+ 4 - 14
rebuild/main.lua

@@ -8,15 +8,9 @@ end
 
 local yo = require('yo')
 local server = require('server')
+local read = require('read')
+
 
-local statusMessages = {
-  [0] = 'not enabled',
-  'connecting',
-  'wrong password',
-  'network not found',
-  'connection fail',
-  'connected'
-}
 a = '0c6ac771-71fa-420f-810c-2853989a8ca6'
 y = 'ariyeah'
 wifi.sta.config('Pizza Pirate Cove', 'pizzapirates')
@@ -28,11 +22,7 @@ function short_press()
 end
 
 function long_press()
-  current_settings = {
-    yo_recipient = y,
-    ssid = wifi.sta.getconfig(),
-    status = statusMessages[wifi.sta.status()]
-  }
 
-  server.start(current_settings)
+
+  server.start()
 end

+ 53 - 0
rebuild/read.lua

@@ -0,0 +1,53 @@
+local wifi = wifi
+local file = file
+local yo_file = 'yo_recipient.txt'
+local wifi_status = {
+  [0] = 'not enabled',
+  'connecting',
+  'wrong password',
+  'network not found',
+  'connection fail',
+  'connected'
+}
+local debug_message = debug_message
+
+module(...)
+
+function yo_recipient()
+  debug_message('read.yo_recipient')
+  
+  if file.exists(yo_file) == false then
+    debug_message('creating file')
+    file.open(yo_file, 'w+')
+    file.write('')
+    file.close()
+  else
+    debug_message('file exists')
+    file.open(yo_file)
+    yo = file.read()
+    file.close()
+  end
+
+  return (yo or '')
+end
+
+function api_key()
+  file.open('api_key.txt')
+  api_key = file.read()
+  file.close()
+end
+
+function current_settings()
+  return {
+    yo_to = yo_recipient(),
+    ssid = wifi.sta.getconfig(),
+    status = wifi_status[wifi.sta.status()]
+  }
+end
+
+function index()
+  file.open('index.html')
+  local index = file.read()
+  file.close()
+  return index
+end

+ 9 - 10
rebuild/server.lua

@@ -1,5 +1,5 @@
+local read = require('read')
 local net = net
-local file = file -- defer to settings module?
 local string = string
 local assert = assert
 local type = type
@@ -59,13 +59,16 @@ end
 function send_index(conn)
   debug_message('server.send_index')
 
-  file.open('index.html')
-  local index = file.read()
-  file.close()
+  index = read.index()
+
+  local settings = read.current_settings()
+  assert(type(settings.ssid) == 'string', 'ssid must be a string')
+  assert(type(settings.status) == 'string', 'status must be a string')
+  assert(type(settings.yo_to) == 'string', 'yo_to must be a string')
 
   index = string.gsub(index, 'S_', settings.ssid)
   index = string.gsub(index, 'T_', settings.status)
-  index = string.gsub(index, 'R_', settings.yo_recipient)
+  index = string.gsub(index, 'R_', settings.yo_to)
 
   debug_message('sending index')
   debug_message('____________')
@@ -74,13 +77,9 @@ function send_index(conn)
   conn:send('HTTP/1.1 200 OK\n\n' .. index)
 end
 
-function start(current_settings)
-  assert(type(current_settings.ssid) == 'string', 'ssid must be a string')
-  assert(type(current_settings.status) == 'string', 'status must be a string')
-  assert(type(current_settings.yo_recipient) == 'string', 'yo_recipient must be a string')
+function start()
   debug_message('server.start')
   debug_message(srv)
-  settings = current_settings
 
   if srv then
     srv = nil

+ 0 - 0
rebuild/write.lua