From d3634f32365686cac7907faa440219874a330826 Mon Sep 17 00:00:00 2001 From: Greg Taylor Date: Tue, 26 Dec 2006 04:20:47 +0000 Subject: [PATCH] Adding the SQLite database to this commit. Oh, and @list commands is in, as well as some pieces of @list process. --- evennia/trunk/TODO | 2 -- evennia/trunk/commands_general.py | 2 ++ evennia/trunk/commands_staff.py | 23 +++++++++++++++++++++++ evennia/trunk/evennia.sql | Bin 0 -> 48128 bytes evennia/trunk/functions_db.py | 1 + evennia/trunk/functions_general.py | 19 ++++++++++++++++++- evennia/trunk/settings.py | 2 +- 7 files changed, 45 insertions(+), 4 deletions(-) create mode 100755 evennia/trunk/evennia.sql diff --git a/evennia/trunk/TODO b/evennia/trunk/TODO index ddbc5ef245..7f86b610f6 100644 --- a/evennia/trunk/TODO +++ b/evennia/trunk/TODO @@ -24,8 +24,6 @@ Medium Priority Tasks --------------------- * We're going to need a delayed event queue in addition to the scheduler. For example: I want player X to perform this action in Y seconds. -* Implement some of the @list command from MUX2. Most importantly, - '@list commands'. Low Priority Tasks ------------------ diff --git a/evennia/trunk/commands_general.py b/evennia/trunk/commands_general.py index 6d869260b8..c3eb20beb8 100644 --- a/evennia/trunk/commands_general.py +++ b/evennia/trunk/commands_general.py @@ -6,6 +6,7 @@ import functions_help import global_defines import session_mgr import ansi +import os """ Generic command module. Pretty much every command should go here for now. @@ -269,3 +270,4 @@ def cmd_uptime(cdat): session.msg('Current server time : %s' % (time.strftime('%a %b %d %H:%M %Y (%Z)', time.localtime(),))) session.msg('Server start time : %s' % (time.strftime('%a %b %d %H:%M %Y', time.localtime(server.start_time),))) session.msg('Server uptime : %s' % functions_general.time_format(start_delta, style=2)) + session.msg('Server load (1 min) : %s' % os.getloadavg()) diff --git a/evennia/trunk/commands_staff.py b/evennia/trunk/commands_staff.py index 1ccddaa29e..55c7ec660a 100644 --- a/evennia/trunk/commands_staff.py +++ b/evennia/trunk/commands_staff.py @@ -1,6 +1,10 @@ +import os +import resource + import functions_db import functions_general import commands_general +import commands_unloggedin import cmdhandler import session_mgr import ansi @@ -63,6 +67,25 @@ def cmd_destroy(cdat): session.msg("You destroy %s." % (target_obj,)) target_obj.destroy() +def cmd_list(cdat): + """ + Shows some game related information. + """ + session = cdat['session'] + pobject = session.get_pobject() + args = cdat['uinput']['splitted'][1:] + argstr = ''.join(args) + + if len(argstr) == 0: + session.msg("Unknown option. Use one of: commands, process") + elif argstr == "commands": + session.msg('Commands: '+' '.join(functions_general.command_list())) + elif argstr == "process": + loadvg = os.getloadavg() + rusage = resource.getrusage(resource.RUSAGE_SELF) + session.msg("Process ID: %d" % (os.getpid(),)) + session.msg("Time used: %d user %d sys" % (rusage[0],rusage[1])) + def cmd_description(cdat): """ Set an object's description. diff --git a/evennia/trunk/evennia.sql b/evennia/trunk/evennia.sql new file mode 100755 index 0000000000000000000000000000000000000000..a3dbae1c3c99fde0bcebc654b8f76acf7ff4ff40 GIT binary patch literal 48128 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 LiN#n!I0yU>u(Jh} literal 0 HcmV?d00001 diff --git a/evennia/trunk/functions_db.py b/evennia/trunk/functions_db.py index f9b64ee0e3..6d86d0fb6a 100644 --- a/evennia/trunk/functions_db.py +++ b/evennia/trunk/functions_db.py @@ -5,6 +5,7 @@ from apps.objects.models import Object from apps.config.models import ConfigValue import global_defines import gameconf + """ Common database functions. """ diff --git a/evennia/trunk/functions_general.py b/evennia/trunk/functions_general.py index 4945077cce..a8bcffced3 100644 --- a/evennia/trunk/functions_general.py +++ b/evennia/trunk/functions_general.py @@ -1,8 +1,25 @@ import session_mgr +import commands_staff +import commands_general +import commands_unloggedin """ General commonly used functions. """ - +def command_list(): + """ + Return a list of all commands. + """ + commands = dir(commands_unloggedin) + dir(commands_general) + stf_commands = dir(commands_staff) + filtered = [prospect for prospect in commands if "cmd_" in prospect] + stf_filtered = [prospect for prospect in stf_commands if "cmd_" in prospect] + processed = [] + for cmd in filtered: + processed.append(cmd[4:]) + for cmd in stf_filtered: + processed.append('@%s' %(cmd[4:],)) + return processed + def time_format(seconds, style=0): """ Function to return a 'prettified' version of a value in seconds. diff --git a/evennia/trunk/settings.py b/evennia/trunk/settings.py index b54f489d29..38c96e83e8 100755 --- a/evennia/trunk/settings.py +++ b/evennia/trunk/settings.py @@ -10,7 +10,7 @@ ADMINS = ( MANAGERS = ADMINS DATABASE_ENGINE = 'sqlite3' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. -DATABASE_NAME = 'evennia.sql' # Or path to database file if using sqlite3. +DATABASE_NAME = '/home/gtaylor/dev/evennia/evennia.sql' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.