Initial Release of IGNCore version 2.5
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
from core.decorators import instance
|
||||
from core.logger import Logger
|
||||
|
||||
|
||||
@instance()
|
||||
class CommandAliasService:
|
||||
def __init__(self):
|
||||
self.logger = Logger(__name__)
|
||||
|
||||
def inject(self, registry):
|
||||
self.db = registry.get_instance("db")
|
||||
|
||||
def check_for_alias(self, command_str):
|
||||
row = self.get_alias(command_str)
|
||||
if row and row.enabled:
|
||||
return row.command
|
||||
else:
|
||||
return None
|
||||
|
||||
def get_alias(self, alias):
|
||||
return self.db.query_single("SELECT alias, command, enabled FROM command_alias WHERE alias = ?", [alias])
|
||||
|
||||
def add_alias(self, alias, command, force_enable=False):
|
||||
"""Call during start"""
|
||||
row = self.get_alias(alias)
|
||||
if row:
|
||||
if row.enabled:
|
||||
return False
|
||||
elif force_enable:
|
||||
self.db.exec("UPDATE command_alias SET command = ?, enabled = 1 WHERE alias = ?", [command, alias])
|
||||
return True
|
||||
else:
|
||||
self.db.exec("INSERT INTO command_alias (alias, command, enabled) VALUES (?, ?, 1)", [alias, command])
|
||||
return True
|
||||
|
||||
def remove_alias(self, alias):
|
||||
row = self.get_alias(alias)
|
||||
if row:
|
||||
if row.enabled:
|
||||
self.db.exec("UPDATE command_alias SET enabled = 0 WHERE alias = ?", [alias])
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return False
|
||||
|
||||
def get_enabled_aliases(self):
|
||||
return self.db.query("SELECT alias, command FROM command_alias WHERE enabled = 1 ORDER BY alias")
|
||||
Reference in New Issue
Block a user