Bugfix on copy_table and added refresh command to CLI

This commit is contained in:
Nathan Schneider
2021-12-28 14:39:34 -07:00
parent 18a29d674c
commit 1b0335c069
4 changed files with 17 additions and 12 deletions

View File

@ -39,11 +39,11 @@ The command-line version is in the `modpol` subdirectory. To run the program on
$ lua[jit] login.lua $ lua[jit] login.lua
``` ```
You can also interact with the interpreter by starting it this way: Alternatively, to test arbitrary functions in the interpreter outside of the interactive dashboards, load Modpol with:
``` ```
$ lua[jit] $ lua[jit]
> dofile("login.lua") > dofile("modpol_core/modpol.lua")
``` ```
In the interpreter, for a list of global functions and tables, use `modpol.menu()`. In the interpreter, for a list of global functions and tables, use `modpol.menu()`.

View File

@ -1,8 +1,5 @@
dofile("modpol_core/modpol.lua") dofile("modpol_core/modpol.lua")
modpol.instance.members = {}
modpol.orgs.reset()
print("Log in as which user?") print("Log in as which user?")
local username = io.read() local username = io.read()

View File

@ -1,6 +1,6 @@
-- INTERACTIONS.LUA (CLI) -- INTERACTIONS.LUA (CLI)
-- User interaction functions for Modular Politics -- User interaction functions for Modpol
-- Called by modpol.lua -- Called by modpol.lua
modpol.interactions = {} modpol.interactions = {}
@ -49,7 +49,7 @@ function modpol.interactions.dashboard(user)
print('All users: ' .. table.concat(all_users, ', ')) print('All users: ' .. table.concat(all_users, ', '))
print() print()
print("Commands: (O)rg, (U)ser, Enter to close") print("Commands: (O)rg, (U)ser, (R)eset, Enter to close")
local sel = io.read() local sel = io.read()
@ -76,10 +76,22 @@ function modpol.interactions.dashboard(user)
modpol.interactions.dashboard(user) modpol.interactions.dashboard(user)
end end
) )
elseif sel == "" then
return
else else
print("User name not found") print("User name not found")
modpol.interactions.dashboard(user) modpol.interactions.dashboard(user)
end end
elseif sel == "R" or sel == "r" then
modpol.instance.members = {}
modpol.orgs.reset()
print("Orgs and users reset")
modpol.interactions.dashboard(user)
else
print("Invalid input, try again")
modpol.interactions.dashboard(user)
end end
end end

View File

@ -5,11 +5,7 @@ modpol.util = {}
-- Returns a copy of the table inputted -- Returns a copy of the table inputted
function modpol.util.copy_table(t) function modpol.util.copy_table(t)
local t2 = {} local t2 = {}
if ipairs(t) then if pairs(t) then
for i,v in ipairs(t) do
t2[i] = v
end
elseif pairs(t) then
for k,v in pairs(t) do for k,v in pairs(t) do
t2[k] = v t2[k] = v
end end