Pyscii-BBS/functions.py
2025-07-19 17:33:10 -06:00

58 lines
2.3 KiB
Python

import configparser
import json
import sys
import comms
import menus
import auth
config = configparser.ConfigParser()
config.read(sys.argv[1])
userDb = config.get("Auth","userDb")
def printProfile(conn, userId, node, lastMenu):
comms.sendString(conn, "\u001B[2JProfile:\r\n")
with open(userDb) as userdb:
users = json.loads(userdb.read())
for user in users['users']:
if user['id'] == userId:
name = "Name: " + user["name"]
description = "Description: " + user['description']
profile = name + "\r\n" + description + "\r\n"
comms.sendString(conn, profile)
comms.sendString(conn, "Press Enter to go back to the Menu... ")
comms.getChar(conn)
menus.printMenu(conn, lastMenu, node, userId)
def editProfile(conn, userID, node, lastMenu):
comms.sendString(conn, "\u001B[2JProfile:\r\n")
with open(userDb) as userdb:
users = json.loads(userdb.read())
for user in users['users']:
if user['id'] == userID:
name = "Name: " + user["name"]
description = "Description: " + user['description']
profile = name + "\r\n" + description + "\r\n"
comms.sendString(conn, profile)
comms.sendString(conn, "What would you like to edit?\r\n")
comms.sendString(conn, "D: Description\tP:Password\r\n? ")
response = comms.getString(conn,2)
if response.strip('\x00') == "D":
description = auth.setProfile(conn)
user['description'] = description
with open(userDb,'w') as output:
json.dump(users, output, indent=4)
if response.strip('\x00') == "P":
password = auth.setPassword(conn, user['salt'])
user['password'] = password
with open(userDb,'w') as output:
json.dump(users, output, indent=4)
menus.printMenu(conn, lastMenu, node, userID)
def pubMessages(conn, userID, node, lastMenu):
comms.sendString(conn, "There are no messages!\r\nPress any key to go back... ")
comms.getChar(conn)
menus.printMenu(conn, lastMenu, node, userID)