Example #1
0
    def rooms_widget(self, name, x, none_is_logged_out=False):
        if none_is_logged_out and hasattr(self, '_toroomid'):
            # this is a character, and the character was teleported
            # using the web interface on this page load. Need to use
            # a saved value for the room, since the actual move will
            # not take place until later.
            tzid = self._toroomid
        elif x is None:
            tzid=None
        else:
            tzid=x.tzid

        rs = rooms.ls()
        rs.sort(key=attrgetter('name'))
        choices = [(r.tzid, '%s (%s)' % (r.name, r.tzid)) for r in rs]
        if not none_is_logged_out:
            choices.insert(0, (None, 'Existing room ...'))
        info = dict(name=name,
                    choices=choices,
                    selected=tzid)

        if none_is_logged_out and tzid is None:
            return 'Not logged in.'
        else:
            return self.render_form_select(info)
Example #2
0
def upgrade(from_version, to_version):
    from share import upgrade
    if from_version==1 and to_version==2:
        import rooms
        for room in rooms.ls():
            cls = class_as_string(room)
            if cls == 'TeleTrap':
                print 'upgrading', room, cls
                updated = upgrade(room)

        commit()
Example #3
0
def upgrade(from_version, to_version):
    from share import upgrade
    if from_version==0 and to_version==1:
        from db import TZDict
        dbroot['exits'] = TZDict()
        commit()

        all_exits = []
        import rooms
        for room in rooms.ls():
            all_exits.extend(room.exits())

        for x in all_exits:
            print 'upgrading', x
            updated = upgrade(x, Exit)
            updated.destination = rooms.get(updated._destid)
            add(updated)

        commit()
Example #4
0
def cmd_list(s, r):
    '''list |players|items|rooms|mobs|exits|

    List all objects of the given type.

    '''

    listing = r['type']

    if listing == 'players':
        objs = players.ls()
        classes = []
    elif listing == 'items':
        objs = items.ls()
        classes = items.classes()
    elif listing == 'rooms':
        objs = rooms.ls()
        classes = rooms.classes()
    elif listing == 'mobs':
        objs = mobs.ls()
        classes = mobs.classes()
    elif listing == 'exits':
        objs = exits.ls()
        classes = exits.classes()

    if objs:
        s.message('Existing objects:')
        objs.sort(key=operator.attrgetter('tzid'))
        msgs = []
        for obj in objs:
            tzid = '(%s)' % obj.tzid
            msgs.append('%s %s' % (tzid.rjust(4, ' '), obj))
        s.mlmessage(msgs, indent=4)
    else:
        s.message('No', listing, 'yet.')

    if classes:
        classes = list(classes)
        classes.sort()
        if objs:
            s.message()
        s.message('Cloneable:')
        s.columns_v(classes, color=colors.white)
Example #5
0
 def data_rooms(self, ctx, data):
     r = rooms.ls()
     #r.sort(key=attrgetter('name'))
     return r