Ejemplo n.º 1
0
 def post(self):
     #check linden IP  and allowed avs
     logging.info('Alarm URL')
     if lindenip.inrange(os.environ['REMOTE_ADDR']) != 'Production':
         self.error(403)
     elif self.request.headers['X-SecondLife-Shard'] != 'Production':
         logging.warning("Attempt while on beta grid %s" %
                         (self.request.headers['X-SecondLife-Shard']))
         self.response.set_status(305)
     elif not self.request.headers[
             'X-SecondLife-Owner-Key'] in model.adminkeys:
         logging.warning(
             "Illegal attempt to set alarm URL from %s, box %s located in %s at %s"
             % (self.request.headers['X-SecondLife-Owner-Name'],
                self.request.headers['X-SecondLife-Object-Name'],
                self.request.headers['X-SecondLife-Region'],
                self.request.headers['X-SecondLife-Local-Position']))
         self.error(403)
     else:
         alarmurl = self.request.body
         alarm = AppSettings(key_name="alarmurl", value=alarmurl)
         alarm.put()
         memcache.set('alarmurl', alarmurl)
         logging.info('Alarm URL set to %s' % alarmurl)
         self.response.out.write('Added')