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)
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()
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()
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)
def data_rooms(self, ctx, data): r = rooms.ls() #r.sort(key=attrgetter('name')) return r