diff options
author | Solderpunk <solderpunk@sdf.org> | 2018-12-08 17:34:00 +0000 |
---|---|---|
committer | Solderpunk <solderpunk@sdf.org> | 2018-12-08 17:34:00 +0000 |
commit | a37a28d1b705a3ddee1878dc6406fb27b8eafea8 (patch) | |
tree | 0bde354a6d14544c48f2942ffc8a03ebc4c9a06d /telem.lua | |
parent | Check lengths of various string inputs and act accordingly in extreme cases. (diff) |
Store boards not just as strings, but as tables with the topic as a member.
Diffstat (limited to '')
-rwxr-xr-x | telem.lua | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -56,13 +56,17 @@ end -- Internals function update_boards() - for board in lfs.dir(path.join(_BBS_ROOT, "boards")) do - if string.sub(board, 1, 1) ~= "." and not board_names[board] then - board_names[board] = true + for boarddir in lfs.dir(path.join(_BBS_ROOT, "boards")) do + if string.sub(boarddir, 1, 1) ~= "." and not board_names[boarddir] then + local board = {} + board.name = boarddir + board.directory = path.join(_BBS_ROOT, "boards", boarddir) + board.topic = file.read(path.join(board.directory, "topic")) + board_names[board.name] = true table.insert(boards, board) end end - table.sort(boards) + table.sort(boards, function(x,y) return x.name > y.name end) end function check_at_board() @@ -147,9 +151,7 @@ function do_board() local topic_file = path.join(board_dir, "topic") file.write(topic_file, desc) -- Update representation of BBS - board_names[board] = true - table.insert(boards, board) - table.sort(boards) + update_boards() -- Done! print("Board created.") end |