first commit for Application Actions™
parent
4429753729
commit
c74e259d61
59
dbutil.py
59
dbutil.py
|
@ -3,6 +3,8 @@ import os
|
|||
import sqlite3
|
||||
import pickle
|
||||
|
||||
from action import Action
|
||||
|
||||
|
||||
class MessageDB():
|
||||
def add_application_msg(msg_id: str, author_id: str, guild_id: str) -> None:
|
||||
|
@ -81,7 +83,8 @@ class GuildAppDB():
|
|||
applications[application_name] = {
|
||||
"app_id": "",
|
||||
"resp_channel": "",
|
||||
"questions": []
|
||||
"questions": [],
|
||||
"actions": []
|
||||
}
|
||||
application_blob2 = pickle.dumps(applications)
|
||||
cur.execute("UPDATE app_guildapp_db SET applications_blob = (?) WHERE guild_id= (?)", (application_blob2, guild_id))
|
||||
|
@ -239,4 +242,56 @@ class GuildAppDB():
|
|||
else:
|
||||
return "error on remove question: question index not found"
|
||||
else:
|
||||
return "error on remove question: application not found"
|
||||
return "error on remove question: application not found"
|
||||
|
||||
|
||||
|
||||
|
||||
def add_action(guild_id: str, application_name: str, action: Action) -> str:
|
||||
con = sqlite3.connect("applications.db")
|
||||
cur = con.cursor()
|
||||
cur.execute("SELECT applications_blob FROM app_guildapp_db WHERE guild_id=(?)", (guild_id, ))
|
||||
application_blob = cur.fetchone()
|
||||
applications = pickle.loads(application_blob[0])
|
||||
if application_name in applications.keys():
|
||||
action_index = int(len(applications[application_name]["actions"]))
|
||||
applications[application_name]["actions"].append(action)
|
||||
application_blob2 = pickle.dumps(applications)
|
||||
cur.execute("UPDATE app_guildapp_db SET applications_blob = (?) WHERE guild_id= (?)", (application_blob2, guild_id))
|
||||
con.commit()
|
||||
return "success"
|
||||
else:
|
||||
return "error on add action: application not found"
|
||||
|
||||
def get_actions(guild_id: str, application_name: str):
|
||||
con = sqlite3.connect("applications.db")
|
||||
cur = con.cursor()
|
||||
cur.execute("SELECT applications_blob FROM app_guildapp_db WHERE guild_id=(?)", (guild_id, ))
|
||||
application_blob = cur.fetchone()
|
||||
applications = pickle.loads(application_blob[0])
|
||||
if application_name in applications.keys():
|
||||
actions = applications[application_name]["actions"]
|
||||
return actions
|
||||
else:
|
||||
return "error on get actions: application not found"
|
||||
|
||||
def remove_action(guild_id: str, application_name: str, action_index: int):
|
||||
con = sqlite3.connect("applications.db")
|
||||
cur = con.cursor()
|
||||
cur.execute("SELECT applications_blob FROM app_guildapp_db WHERE guild_id=(?)", (guild_id, ))
|
||||
application_blob = cur.fetchone()
|
||||
applications = pickle.loads(application_blob[0])
|
||||
if application_name in applications.keys():
|
||||
actions = applications[application_name]["actions"]
|
||||
if action_index <= len(actions):
|
||||
actions.pop(action_index-1)
|
||||
applications[application_name]["actions"] = actions
|
||||
application_blob2 = pickle.dumps(applications)
|
||||
cur.execute("UPDATE app_guildapp_db SET applications_blob = (?) WHERE guild_id= (?)", (application_blob2, guild_id))
|
||||
con.commit()
|
||||
return "success"
|
||||
else:
|
||||
return "error on remove action: action index not found"
|
||||
else:
|
||||
return "error on remove action: application not found"
|
||||
|
||||
|
|
Loading…
Reference in New Issue