Part 1 of initial database population re-factor, along with a comsys model change. DO NOT UPDATE TO THIS IN PRODUCTION ENVIRONMENTS YET! Wait for the all-clear.
This commit is contained in:
parent
8ebea8c22e
commit
c0ebbc3967
6 changed files with 29 additions and 10 deletions
|
|
@ -240,16 +240,17 @@ def get_cobj_from_name(cname):
|
||||||
"""
|
"""
|
||||||
return CommChannel.objects.get(name=cname)
|
return CommChannel.objects.get(name=cname)
|
||||||
|
|
||||||
def create_channel(name, owner):
|
def create_channel(name, owner, description=None):
|
||||||
"""
|
"""
|
||||||
Create a new channel.
|
Create a new channel.
|
||||||
name: (string) Name of the new channel
|
name: (string) Name of the new channel
|
||||||
owner: (Object) Objec that owns the channel
|
owner: (Object) Object that owns the channel
|
||||||
"""
|
"""
|
||||||
new_chan = CommChannel()
|
new_chan = CommChannel()
|
||||||
new_chan.name = ansi.parse_ansi(name, strip_ansi=True)
|
new_chan.name = ansi.parse_ansi(name, strip_ansi=True)
|
||||||
new_chan.ansi_name = "[%s]" % (ansi.parse_ansi(name),)
|
new_chan.ansi_name = "[%s]" % (ansi.parse_ansi(name),)
|
||||||
new_chan.set_owner(owner)
|
new_chan.set_owner(owner)
|
||||||
|
new_chan.description = description
|
||||||
new_chan.save()
|
new_chan.save()
|
||||||
return new_chan
|
return new_chan
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
[{"pk": 1, "model": "config.connectscreen", "fields": {"is_active": 1, "name": "Default", "connect_screen_text": "%ch%cb==================================================================%cn\r\n Welcome to Evennia! Please type one of the following to begin:\r\n\r\n If you have an existing account, connect to it by typing:\r\n %chconnect <email> <password2>%cn\r\n If you need to create an account, type (without the <>'s):\r\n %chcreate \"<username>\" <email> <password>%cn\r\n%ch%cb==================================================================%cn\r\n"}}, {"pk": 9, "model": "config.commandalias", "fields": {"user_input": "@desc", "equiv_command": "@describe"}}, {"pk": 3, "model": "config.commandalias", "fields": {"user_input": "@dest", "equiv_command": "@destroy"}}, {"pk": 4, "model": "config.commandalias", "fields": {"user_input": "@nuke", "equiv_command": "@destroy"}}, {"pk": 6, "model": "config.commandalias", "fields": {"user_input": "@tel", "equiv_command": "@teleport"}}, {"pk": 2, "model": "config.commandalias", "fields": {"user_input": "ex", "equiv_command": "examine"}}, {"pk": 7, "model": "config.commandalias", "fields": {"user_input": "i", "equiv_command": "inventory"}}, {"pk": 8, "model": "config.commandalias", "fields": {"user_input": "inv", "equiv_command": "inventory"}}, {"pk": 1, "model": "config.commandalias", "fields": {"user_input": "l", "equiv_command": "look"}}, {"pk": 5, "model": "config.commandalias", "fields": {"user_input": "sa", "equiv_command": "say"}}, {"pk": 1, "model": "config.configvalue", "fields": {"conf_value": "Evennia Test Site", "conf_key": "site_name"}}, {"pk": 2, "model": "config.configvalue", "fields": {"conf_value": "2", "conf_key": "player_dbnum_start"}}, {"pk": 3, "model": "config.configvalue", "fields": {"conf_value": "Credits", "conf_key": "money_name_plural"}}, {"pk": 4, "model": "config.configvalue", "fields": {"conf_value": "Credit", "conf_key": "money_name_singular"}}, {"pk": 5, "model": "config.configvalue", "fields": {"conf_value": "0", "conf_key": "game_firstrun"}}, {"pk": 6, "model": "config.configvalue", "fields": {"conf_value": "1800", "conf_key": "idle_timeout"}}, {"pk": 7, "model": "config.configvalue", "fields": {"conf_value": "2", "conf_key": "default_home"}}]
|
[{"pk": 1, "model": "config.connectscreen", "fields": {"is_active": 1, "name": "Default", "connect_screen_text": "%ch%cb==================================================================%cn\r\n Welcome to Evennia! Please type one of the following to begin:\r\n\r\n If you have an existing account, connect to it by typing:\r\n %chconnect <email> <password2>%cn\r\n If you need to create an account, type (without the <>'s):\r\n %chcreate \"<username>\" <email> <password>%cn\r\n%ch%cb==================================================================%cn\r\n"}}, {"pk": 9, "model": "config.commandalias", "fields": {"user_input": "@desc", "equiv_command": "@describe"}}, {"pk": 3, "model": "config.commandalias", "fields": {"user_input": "@dest", "equiv_command": "@destroy"}}, {"pk": 4, "model": "config.commandalias", "fields": {"user_input": "@nuke", "equiv_command": "@destroy"}}, {"pk": 6, "model": "config.commandalias", "fields": {"user_input": "@tel", "equiv_command": "@teleport"}}, {"pk": 2, "model": "config.commandalias", "fields": {"user_input": "ex", "equiv_command": "examine"}}, {"pk": 7, "model": "config.commandalias", "fields": {"user_input": "i", "equiv_command": "inventory"}}, {"pk": 8, "model": "config.commandalias", "fields": {"user_input": "inv", "equiv_command": "inventory"}}, {"pk": 1, "model": "config.commandalias", "fields": {"user_input": "l", "equiv_command": "look"}}, {"pk": 5, "model": "config.commandalias", "fields": {"user_input": "sa", "equiv_command": "say"}}, {"pk": 1, "model": "config.configvalue", "fields": {"conf_value": "Evennia Test Site", "conf_key": "site_name"}}, {"pk": 2, "model": "config.configvalue", "fields": {"conf_value": "2", "conf_key": "player_dbnum_start"}}, {"pk": 3, "model": "config.configvalue", "fields": {"conf_value": "Credits", "conf_key": "money_name_plural"}}, {"pk": 4, "model": "config.configvalue", "fields": {"conf_value": "Credit", "conf_key": "money_name_singular"}}, {"pk": 5, "model": "config.configvalue", "fields": {"conf_value": "1", "conf_key": "game_firstrun"}}, {"pk": 6, "model": "config.configvalue", "fields": {"conf_value": "1800", "conf_key": "idle_timeout"}}, {"pk": 7, "model": "config.configvalue", "fields": {"conf_value": "2", "conf_key": "default_home"}}]
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,23 @@
|
||||||
from django.contrib.auth.models import User, Group
|
from django.contrib.auth.models import User, Group
|
||||||
from src.objects.models import Object
|
from src.objects.models import Object
|
||||||
from src.config.models import ConfigValue
|
from src.config.models import ConfigValue
|
||||||
|
from src import comsys, defines_global
|
||||||
|
|
||||||
def handle_setup():
|
def handle_setup():
|
||||||
# Set the initial user's username on the #1 object.
|
# Set the initial user's username on the #1 object.
|
||||||
god_user = User.objects.filter(id=1)[0]
|
god_user = User.objects.get(id=1)
|
||||||
god_user_obj = Object.objects.filter(id=1)[0]
|
god_user_obj = Object(id=1, type=defines_global.OTYPE_PLAYER)
|
||||||
god_user_obj.set_name(god_user.username)
|
god_user_obj.set_name(god_user.username)
|
||||||
|
god_user_obj.save()
|
||||||
|
|
||||||
|
limbo_obj = Object()
|
||||||
|
limbo_obj.type = defines_global.OTYPE_ROOM
|
||||||
|
limbo_obj.owner = god_user_obj
|
||||||
|
limbo_obj.set_name('Limbo')
|
||||||
|
limbo_obj.save()
|
||||||
|
|
||||||
|
god_user_obj.home = limbo_obj
|
||||||
|
god_user_obj.save()
|
||||||
|
|
||||||
groups = ("Immortals", "Wizards", "Builders", "Player Helpers")
|
groups = ("Immortals", "Wizards", "Builders", "Player Helpers")
|
||||||
for group in groups:
|
for group in groups:
|
||||||
|
|
@ -14,5 +25,11 @@ def handle_setup():
|
||||||
newgroup.name = group
|
newgroup.name = group
|
||||||
newgroup.save()
|
newgroup.save()
|
||||||
|
|
||||||
|
chan_pub = comsys.create_channel("Public", god_user_obj, description="Public Discussion")
|
||||||
|
chan_pub.is_joined_by_default = True
|
||||||
|
chan_pub.save()
|
||||||
|
comsys.create_channel("Errors", god_user_obj, description="Error log")
|
||||||
|
comsys.create_channel("Info", god_user_obj, description="Informative messages")
|
||||||
|
|
||||||
# We don't want to do initial setup tasks every startup, only the first.
|
# We don't want to do initial setup tasks every startup, only the first.
|
||||||
ConfigValue.objects.set_configvalue('game_firstrun', '0')
|
ConfigValue.objects.set_configvalue('game_firstrun', '0')
|
||||||
|
|
|
||||||
|
|
@ -356,7 +356,7 @@ class ObjectManager(models.Manager):
|
||||||
# Create a player object of the same ID in the Objects table.
|
# Create a player object of the same ID in the Objects table.
|
||||||
odat = {"id": uid,
|
odat = {"id": uid,
|
||||||
"name": uname,
|
"name": uname,
|
||||||
"type": 1,
|
"type": defines_global.OTYPE_PLAYER,
|
||||||
"location": start_room_obj,
|
"location": start_room_obj,
|
||||||
"owner": None}
|
"owner": None}
|
||||||
user_object = self.create_object(odat)
|
user_object = self.create_object(odat)
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ class Attribute(models.Model):
|
||||||
"""
|
"""
|
||||||
attr_name = models.CharField(max_length=255)
|
attr_name = models.CharField(max_length=255)
|
||||||
attr_value = models.CharField(max_length=255)
|
attr_value = models.CharField(max_length=255)
|
||||||
attr_hidden = models.BooleanField(default=0)
|
attr_hidden = models.BooleanField(default=False)
|
||||||
attr_object = models.ForeignKey("Object")
|
attr_object = models.ForeignKey("Object")
|
||||||
|
|
||||||
objects = AttributeManager()
|
objects = AttributeManager()
|
||||||
|
|
@ -903,6 +903,7 @@ class CommChannel(models.Model):
|
||||||
ansi_name = models.CharField(max_length=255)
|
ansi_name = models.CharField(max_length=255)
|
||||||
owner = models.ForeignKey(Object, related_name="chan_owner")
|
owner = models.ForeignKey(Object, related_name="chan_owner")
|
||||||
description = models.CharField(max_length=80)
|
description = models.CharField(max_length=80)
|
||||||
|
is_joined_by_default = models.BooleanField(default=False)
|
||||||
req_grp = models.ManyToManyField(Group, blank=True, null=True)
|
req_grp = models.ManyToManyField(Group, blank=True, null=True)
|
||||||
|
|
||||||
objects = CommChannelManager()
|
objects = CommChannelManager()
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
INSERT INTO objects_object VALUES(1,'Wizard','Wizard',1,0,'',2,1,'',2,'','CONNECTED','2007-04-25');
|
INSERT INTO objects_object VALUES(1,'Wizard','Wizard',1,0,'',2,1,'',2,'','CONNECTED','2007-04-25');
|
||||||
INSERT INTO objects_object VALUES(2,'Limbo','Limbo',1,NULL,'',NULL,2,'Welcome to your new Evennia-based game. From here you are ready to begin development. If you should need help or would like to participate in community discussions, visit http://evennia.com.',NULL,'','','2007-04-25');
|
INSERT INTO objects_object VALUES(2,'Limbo','Limbo',1,NULL,'',NULL,2,'Welcome to your new Evennia-based game. From here you are ready to begin development. If you should need help or would like to participate in community discussions, visit http://evennia.com.',NULL,'','','2007-04-25');
|
||||||
INSERT INTO objects_commchannel VALUES(1,'Public','Public',1,'Public Discussion');
|
INSERT INTO objects_commchannel VALUES(1,'Public','Public',1,'Public Discussion', false);
|
||||||
INSERT INTO objects_commchannel VALUES(2,'Errors','Errors',1,'Error Log');
|
INSERT INTO objects_commchannel VALUES(2,'Errors','Errors',1,'Error Log', false);
|
||||||
INSERT INTO objects_commchannel VALUES(3,'Info','Info',1,'Info Log');
|
INSERT INTO objects_commchannel VALUES(3,'Info','Info',1,'Info Log', false);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue