Browse Source

Bugfix on copy_table and added refresh command to CLI

Nathan Schneider 2 years ago
parent
commit
1b0335c069
4 changed files with 17 additions and 12 deletions
  1. 2 2
      README.md
  2. 0 3
      login.lua
  3. 14 2
      modpol_core/interactions/interactions.lua
  4. 1 5
      modpol_core/util/misc.lua

+ 2 - 2
README.md

@@ -39,11 +39,11 @@ The command-line version is in the `modpol` subdirectory. To run the program on
 $ 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]
-> dofile("login.lua")
+> dofile("modpol_core/modpol.lua")
 ```
 
 In the interpreter, for a list of global functions and tables, use `modpol.menu()`.

+ 0 - 3
login.lua

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

+ 14 - 2
modpol_core/interactions/interactions.lua

@@ -1,6 +1,6 @@
 -- INTERACTIONS.LUA (CLI)
 
--- User interaction functions for Modular Politics
+-- User interaction functions for Modpol
 -- Called by modpol.lua
 
 modpol.interactions = {}
@@ -49,7 +49,7 @@ function modpol.interactions.dashboard(user)
    print('All users: ' .. table.concat(all_users, ', '))
    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()
 
@@ -76,10 +76,22 @@ function modpol.interactions.dashboard(user)
                modpol.interactions.dashboard(user)
             end
          )
+
+      elseif sel == "" then
+         return
+         
       else
          print("User name not found")
          modpol.interactions.dashboard(user)
       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
    

+ 1 - 5
modpol_core/util/misc.lua

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