def determine_player(self): # Nut out the player. self.hooks.get('invoke-player-begin')() self.player = player = None player_type = self.player_type if player_type.lower() == 'none': log.info("Not using a media player; just downloading files.") elif player_type.lower() == 'auto': log.info("Trying to determine your player type...") options = players.player_types() if len(options) < 1: log.error("Can't detect an invokable player. Will download, "\ "but won't do anything else.") else: player_type = options[0] log.info("Automatically selected %s as your media player.", player_type) player = players.get(player_type) else: try: player = players.get(player_type) except KeyError: log.critical("Requested media player %s is not defined.", player_type) if player is None: log.critical("Requested media player %s can't be invoked.", player_type) self.player_type = player_type self.player = player self.hooks.get('invoke-player-end')() return self.player
def cmd_summon(s, r): '''summon <character>|<mob class> If the name or id# given is an existing player or mob, this will act like: teleport <character> to <here>. If the name does not exist already, but is a mob class, this will be like: clone <mobclass>. ''' room = s.room objname = r.get('objname', '') objtzid = r.get('objtzid', 0) char = players.getname(objname) or players.get(objtzid) or \ mobs.getname(objname) or mobs.get(objtzid) if char is not None: char.teleport(room) s.message('You summon', char, '.') elif objname in mobs.classes(): mob = _clone_mob(s, objname, objtzid) s.message('You summon', mob, '.') else: iden = objname if objname else '#%s' % objtzid s.message('Unable to summon', iden, '.')
def near_arrive(self, info): wearer = players.get(self._wearerid) or mobs.get(self._wearerid) if wearer is not None: arriver = info['actor'] if arriver is wearer: self.near_look(info) else: if not arriver.visible: wearer.message('Someone invisible just arrived.')
def determine_player(self): # Nut out the player. self.hooks.get('invoke-player-begin')() self.player = player = None player_type = self.player_type if player_type.lower() == 'none': log.info("Not using a media player; just downloading files.") elif player_type.lower() == 'auto': log.info("Trying to determine your player type...") options = players.player_types() if len(options) < 1: log.error("Can't detect an invokable player. Will download, "\ "but won't do anything else.") else: player_type = options[0] log.info("Automatically selected %s as your media player.", player_type) player = players.get(player_type) else: try: player = players.get(player_type) except KeyError: log.critical("Requested media player %s is not defined.", player_type) if player is None: log.critical("Requested media player %s can't be invoked.", player_type) self.player_type = player_type self.player = player #iTunes specific options if isinstance(player,players.iTunesForWindows) or \ isinstance(player,players.iTunesForDarwin): for opt in ['ow_genre','ow_genre_enable']: setattr(player,opt,getattr(self,"pl_opt_iTunes_%s" % opt)) #Winamp specific options if isinstance(player,players.Winamp): for opt in ['enqueues']: setattr(player,opt,getattr(self,"pl_opt_Winamp_%s" % opt)) self.hooks.get('invoke-player-end')() return self.player
def login_player(player): if not request.json: print('not json') abort(400) if "psw" not in request.json: print('no psw') abort(400) psw = request.json["psw"] result = players.login(player, psw) p = players.get(player) if result is None: abort(400) return jsonify({'user': result, 'info': p})
def add_player(): if not request.json: abort(400) if "name" not in request.json or "psw" not in request.json: abort(400) name = request.json["name"] psw = request.json["psw"] email = '' if "email" in request.json: email = request.json["email"] admin = False if "admin" in request.json: admin = request.json["admin"] if not players.add(name, psw, email, admin): abort(400) result = players.login(name, psw) p = players.get(name) return jsonify({'user': result, 'info': p})
def cmd_teleport(s, r=None): '''teleport [to [<room>|<character>]] OR teleport <object> to <room> Teleport self to the named room or character, or if no name is given teleport self to home, OR Teleport the object to the room. ''' room = s.room player = s.player if room is not None: room.action(dict(act='teleport', actor=player)) objname = r.get('objname', '') objtzid = r.get('objtzid', 0) destname = r.get('obj2name', '') desttzid = r.get('obj2tzid', 0) if (objname or objtzid) and (destname or desttzid): destination = rooms.getname(destname) or rooms.get(desttzid) if destination is None: s.message('No such place.') return obj = find(r, room, player, room) or \ players.getname(objname) or players.get(objtzid) or \ mobs.getname(objname) or mobs.get(objtzid) or \ tzindex.get(objtzid) if obj is None: s.message('No such object.') elif obj._bse == 'Room': s.message('You cannot teleport a room.') else: obj.teleport(destination) s.message('You teleport', obj, '.') elif not (destname or desttzid): # send the player home player.teleport() else: destination = rooms.getname(destname) or \ rooms.get(desttzid) if destination is None: toplayer = players.getname(destname) or \ players.get(desttzid) if toplayer is not None: destination = toplayer.room if destination is None: s.message('Player is not logged in.') return else: tomob = mobs.getname(destname) or \ mobs.get(desttzid) if tomob is not None: destination = tomob.room else: s.message('No such room or character.') return player.teleport(destination)